提出 #64571967
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define i64 int64_t
void solve() {
i64 N;
cin >> N;
vector<i64> C(N), X(N);
for (auto& c : C) {
cin >> c;
c--;
}
for (auto& x : X) {
cin >> x;
}
// Double C
for (int i = 0; i < N; i++) {
C.push_back(C[i]);
}
N *= 2;
const i64 inf = 1e18;
vector dp(N, vector<i64>(N, inf));
vector<vector<int>> occ(N);
for (int i = 0; i < N; i++) {
// Consider doing nothing
for (int j = 0; j <= i; j++) {
i64 cost_left = (j == i ? 0 : dp[j][i - 1]);
dp[j][i] = cost_left + 1 + X[C[i]];
}
// Consider all previous occurrences to merge
for (int i_prv : occ[C[i]]) {
for (int j = 0; j <= i_prv; j++) {
i64 cost_left = dp[j][i_prv];
i64 cost_mid = (i == i_prv + 1 ? 0 : dp[i_prv + 1][i - 1]);
dp[j][i] = min(dp[j][i], cost_left + (i - i_prv) + cost_mid);
}
}
occ[C[i]].push_back(i);
}
// Find best answer (length-N subarray, corresponds to cyclic rotation of C)
i64 ans = inf;
for (int i = 0; i < N / 2; i++) {
ans = min(ans, dp[i][i + N / 2 - 1]);
}
cout << ans << '\n';
}
int main() {
std::ios::sync_with_stdio(0), std::cin.tie(0);
solve();
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Happy Birthday! 3 |
| ユーザ | cowmane |
| 言語 | C++ 23 (gcc 12.2) |
| 得点 | 550 |
| コード長 | 1284 Byte |
| 結果 | AC |
| 実行時間 | 151 ms |
| メモリ | 8660 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 550 / 550 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample00.txt | AC | 1 ms | 3412 KiB |
| sample01.txt | AC | 1 ms | 3396 KiB |
| sample02.txt | AC | 1 ms | 3444 KiB |
| testcase00.txt | AC | 85 ms | 7992 KiB |
| testcase01.txt | AC | 85 ms | 8048 KiB |
| testcase02.txt | AC | 85 ms | 8056 KiB |
| testcase03.txt | AC | 3 ms | 8480 KiB |
| testcase04.txt | AC | 3 ms | 8516 KiB |
| testcase05.txt | AC | 3 ms | 8468 KiB |
| testcase06.txt | AC | 68 ms | 6204 KiB |
| testcase07.txt | AC | 149 ms | 8008 KiB |
| testcase08.txt | AC | 38 ms | 5476 KiB |
| testcase09.txt | AC | 151 ms | 8128 KiB |
| testcase10.txt | AC | 31 ms | 5164 KiB |
| testcase11.txt | AC | 150 ms | 7976 KiB |
| testcase12.txt | AC | 2 ms | 3872 KiB |
| testcase13.txt | AC | 83 ms | 7988 KiB |
| testcase14.txt | AC | 17 ms | 4880 KiB |
| testcase15.txt | AC | 82 ms | 8060 KiB |
| testcase16.txt | AC | 32 ms | 5856 KiB |
| testcase17.txt | AC | 82 ms | 8052 KiB |
| testcase18.txt | AC | 2 ms | 4048 KiB |
| testcase19.txt | AC | 59 ms | 7992 KiB |
| testcase20.txt | AC | 1 ms | 3804 KiB |
| testcase21.txt | AC | 58 ms | 8060 KiB |
| testcase22.txt | AC | 30 ms | 6476 KiB |
| testcase23.txt | AC | 58 ms | 8012 KiB |
| testcase24.txt | AC | 6 ms | 4704 KiB |
| testcase25.txt | AC | 45 ms | 8008 KiB |
| testcase26.txt | AC | 10 ms | 5408 KiB |
| testcase27.txt | AC | 46 ms | 7992 KiB |
| testcase28.txt | AC | 2 ms | 3884 KiB |
| testcase29.txt | AC | 46 ms | 7992 KiB |
| testcase30.txt | AC | 1 ms | 3848 KiB |
| testcase31.txt | AC | 4 ms | 8472 KiB |
| testcase32.txt | AC | 3 ms | 5864 KiB |
| testcase33.txt | AC | 4 ms | 8368 KiB |
| testcase34.txt | AC | 1 ms | 3600 KiB |
| testcase35.txt | AC | 4 ms | 7912 KiB |
| testcase36.txt | AC | 2 ms | 5296 KiB |
| testcase37.txt | AC | 4 ms | 7996 KiB |
| testcase38.txt | AC | 3 ms | 6212 KiB |
| testcase39.txt | AC | 4 ms | 8484 KiB |
| testcase40.txt | AC | 3 ms | 4896 KiB |
| testcase41.txt | AC | 4 ms | 8660 KiB |