- 石子合并Ⅱ
数据/样例有误
- 2025-7-20 22:47:07 @
洛谷:石子合并
洛谷的样例:
4
4 5 9 4
43
54
但本题的样例输出却是:
44
54
洛谷 AC 的代码却在本题 分全 WA,疑似数据有误。
#include <bits/stdc++.h>
using namespace std;
int a[206], s[206], f[206][206], f1[206][206], n, ans, ans1 = 1e9;
int main() {
freopen("stone.in", "r", stdin);
freopen("stone.out", "w", stdout);
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
a[i + n] = a[i];
}
for (int i = 1; i <= (n << 1); i++) {
s[i] = s[i - 1] + a[i];
}
for (int len = 2; len <= n; len++) {
for (int i = 1; i + len - 1 <= n + n; i++) {
int u = i + len - 1;
f1[i][u] = 1e9;
for (int k = i; k < u; k++) {
f[i][u] = max(f[i][u], f[i][k] + f[k + 1][u] + s[u] - s[i - 1]);
f1[i][u] = min(f1[i][u], f1[i][k] + f1[k + 1][u] + s[u] - s[i - 1]);
}
}
}
for (int i = 1; i < n; i++) {
ans = max(ans, f[i][i + n - 1]);
ans1 = min(ans1, f1[i][i + n - 1]);
}
cout << ans1 << "\n" << ans;
return 0;
}
0 comments
No comments so far...
Information
- ID
- 1157
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 7
- Tags
- (None)
- # Submissions
- 63
- Accepted
- 15
- Uploaded By