社区讨论
Atcoder 灵异事件
学术版参与者 8已保存回复 15
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 15 条
- 当前快照
- 1 份
- 快照标识符
- @mje01pn8
- 此快照首次捕获于
- 2025/12/20 15:51 2 个月前
- 此快照最后确认于
- 2025/12/22 17:00 2 个月前
https://atcoder.jp/contests/arc125/tasks/arc125_e
我在 atcoder 的自定义测试里两个样例都过了,就是全 WA,这是为什么
CPP#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e6;
int n, m, a [N + 5], b [N + 5], c [N + 5], dsum [N + 5];
void Turn () {
cin >> n >> m;
for (int i = 1 ; i <= n ; i ++) {
cin >> a [i];
} sort (a + 1, a + n + 1);
for (int i = 1 ; i <= m ; i ++) {
cin >> b [i];
}
int sumc = 0;
for (int i = 1 ; i <= m ; i ++) {
cin >> c [i]; sumc += c [i];
}
int ans = 1e18, suma = 0, sum = 0;
for (int j = 1 ; j <= m ; j ++) {
int t = (b [j] * n - c [j] + b [j] - 1) / b [j];
if (t < 0) t = 0;
dsum [t] -= -b [j] * n + c [j] + t * b [j];
dsum [t + 1] += -b [j] * n + c [j] + t * b [j];
dsum [t + 1] -= b [j];
}
for (int i = 0 ; i <= n ; i ++) {
if (i > 0) dsum [i] += dsum [i - 1];
sum += dsum [i];
suma += a [i];
ans = min (ans, sumc + suma + sum);
}
cout << ans;
}
int _; void Init () {
// ios :: sync_with_stdio (0); cin. tie (0); cout. tie (0);
_ = 1;
// freopen (".in", "r", stdin);
// freopen (".out", "w", stdout);
// cin >> _;
}
signed main () { Init ();
while (_ --> 0)
Turn (); return 0; }
回复
共 15 条回复,欢迎继续交流。
正在加载回复...