社区讨论
请教测评机相关内容,为什么是WA不是RE
P1725琪露诺参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lqhno9rg
- 此快照首次捕获于
- 2023/12/23 14:04 2 年前
- 此快照最后确认于
- 2023/12/23 16:10 2 年前
下方是WA代码
CPP#include<iostream>
#include<deque>
#include<vector>
#include<cmath>
using namespace std;
typedef long long ll;
const ll N = 2e5 + 10, M = -0x7ffffffffffffff;
ll n, l, r, ans, a[N], f[N], pre[N];
deque<vector<ll>> que;
int main() {
ans = -0x7fffffff;
cin >> n >> l >> r;
for (int i = 0; i <= n; i++)cin >> a[i];
for (int i = 1; i <= n + l; i++)pre[i] = M;
for (int i = 0; i <= n + l; i++) {
if (i > n) {
ans = max(ans, pre[i]);
continue;
}
while (!que.empty() && que.front()[1] < i + l - r)que.pop_front();
while (!que.empty() && que.back()[0] <= pre[i])que.pop_back();
vector<ll> tmp{ pre[i],i };
que.push_back(tmp);
pre[i + l] = que.front()[0] + a[i + l];
//cout << i << " ";
//for (auto j : que)cout << "{" << j[0] << " " << j[1] << "} ";
//cout << '\n';
}
cout << ans << '\n';
}
WA了sub8,9
修改为
CPPconst ll N=2e5+10;
CPPconst ll N=4e5+10;
就能够ac了。
只是我觉得这个问题应该是数组下标访问越界的原因,为什么是WA而不是RE呢?
回复
共 2 条回复,欢迎继续交流。
正在加载回复...