请教测评机相关内容,为什么是WA不是RE
  • 板块P1725 琪露诺
  • 楼主KouMoSir
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/23 14:03
  • 上次更新2023/12/23 16:10:03
查看原帖
请教测评机相关内容,为什么是WA不是RE
1019606
KouMoSir楼主2023/12/23 14:03

下方是WA代码

#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

修改为

const ll N=2e5+10;
const ll N=4e5+10;

就能够ac了。

只是我觉得这个问题应该是数组下标访问越界的原因,为什么是WA而不是RE呢?

2023/12/23 14:03
加载中...