10107 | 2024. 03. 26 22:09:14 | szil | Jancsi és Juliska kitalálós játéka | cpp17 | Elfogadva 100/100 | 686ms | 5216 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]-50); 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 | 100/100 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1916 KiB | |||
2 | Elfogadva | 0/0 | 335ms | 3572 KiB | |||
3 | Elfogadva | 4/4 | 3ms | 2524 KiB | |||
4 | Elfogadva | 5/5 | 3ms | 2692 KiB | |||
5 | Elfogadva | 5/5 | 3ms | 3020 KiB | |||
6 | Elfogadva | 5/5 | 3ms | 2844 KiB | |||
7 | Elfogadva | 5/5 | 13ms | 3488 KiB | |||
8 | Elfogadva | 5/5 | 16ms | 3672 KiB | |||
9 | Elfogadva | 5/5 | 28ms | 3824 KiB | |||
10 | Elfogadva | 5/5 | 39ms | 3948 KiB | |||
11 | Elfogadva | 5/5 | 56ms | 4080 KiB | |||
12 | Elfogadva | 5/5 | 97ms | 4400 KiB | |||
13 | Elfogadva | 5/5 | 108ms | 4500 KiB | |||
14 | Elfogadva | 5/5 | 114ms | 4552 KiB | |||
15 | Elfogadva | 5/5 | 256ms | 4892 KiB | |||
16 | Elfogadva | 5/5 | 214ms | 4972 KiB | |||
17 | Elfogadva | 5/5 | 441ms | 5216 KiB | |||
18 | Elfogadva | 5/5 | 521ms | 5104 KiB | |||
19 | Elfogadva | 5/5 | 384ms | 4876 KiB | |||
20 | Elfogadva | 5/5 | 686ms | 4900 KiB | |||
21 | Elfogadva | 5/5 | 402ms | 4892 KiB | |||
22 | Elfogadva | 6/6 | 501ms | 4916 KiB |