10106 | 2024. 03. 26 22:08:53 | szil | Jancsi és Juliska kitalálós játéka | cpp17 | Hibás válasz 94/100 | 564ms | 5212 KiB |
#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int MAXN = 302;
int f[MAXN], dp[MAXN][MAXN], opt[MAXN][MAXN];
void solve() {
int n; cin >> n;
for (int i = 1; i <= n; i++) {
cin >> f[i];
}
for (int i = 1; i <= n; i++) {
opt[i][i] = i;
for (int j = 1; j <= n; j++) {
if (i >= j) dp[i][j] = 0;
else dp[i][j] = 1e9;
}
}
for (int i = n; i >= 1; i--) {
for (int j = i+1; j <= n; j++) {
for (int z = max(i, opt[i][j-1]-20); z <= j; z++) {
int maxe = 0;
for (int y = z; y <= j; y++) {
maxe = max(maxe, f[y]);
// if (i == 1 && j == 7) cerr << z << " " << y << " " << dp[i][z-1] << " " << dp[z][y] << " " << dp[y+1][j] << " " << get_max(z, y) << endl;
ll val = max(dp[i][z-1], max(dp[z][y], dp[y+1][j])) + maxe;
if (dp[i][j] > val) {
dp[i][j] = val;
opt[i][j] = z;
}
}
}
}
}
/*cerr << opt[1][8] << endl;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cerr << dp[i][j] << " ";
}
cerr << endl;
}*/
cout << dp[1][n] << "\n";
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 94/100 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1916 KiB | |||
2 | Elfogadva | 0/0 | 228ms | 3576 KiB | |||
3 | Elfogadva | 4/4 | 3ms | 2208 KiB | |||
4 | Elfogadva | 5/5 | 3ms | 2492 KiB | |||
5 | Elfogadva | 5/5 | 3ms | 2800 KiB | |||
6 | Elfogadva | 5/5 | 3ms | 2848 KiB | |||
7 | Elfogadva | 5/5 | 12ms | 3272 KiB | |||
8 | Elfogadva | 5/5 | 12ms | 3312 KiB | |||
9 | Elfogadva | 5/5 | 21ms | 3476 KiB | |||
10 | Elfogadva | 5/5 | 28ms | 3900 KiB | |||
11 | Elfogadva | 5/5 | 50ms | 4116 KiB | |||
12 | Elfogadva | 5/5 | 82ms | 4276 KiB | |||
13 | Elfogadva | 5/5 | 71ms | 4556 KiB | |||
14 | Elfogadva | 5/5 | 75ms | 4724 KiB | |||
15 | Elfogadva | 5/5 | 174ms | 4984 KiB | |||
16 | Elfogadva | 5/5 | 122ms | 4932 KiB | |||
17 | Elfogadva | 5/5 | 301ms | 4956 KiB | |||
18 | Elfogadva | 5/5 | 423ms | 5212 KiB | |||
19 | Elfogadva | 5/5 | 194ms | 4980 KiB | |||
20 | Elfogadva | 5/5 | 564ms | 5000 KiB | |||
21 | Elfogadva | 5/5 | 266ms | 4900 KiB | |||
22 | Hibás válasz | 0/6 | 361ms | 4896 KiB |