为什么会RE
查看原帖
为什么会RE
1017629
ZSB00000楼主2024/3/11 17:00
#include<bits/stdc++.h>
using namespace std;
#define int long long
int sum[100005];
int fun[100005];
int ans=0;
signed main()
{
	int n,w,maxx=-1;
	cin>>n>>w;
	for(int i=1;i<=n;i++)
	{
		int x,b;
		cin>>x>>b;
		fun[x]+=b;
		maxx=max(maxx,x);
	}
	for(int i=1;i<=maxx;i++)
	{
		sum[i]=sum[i-1]+fun[i];
	}
	for(int i=1;i<=maxx;i++)
	{
		ans=max(ans,sum[i+w]-sum[i]);
	}
	cout<<ans;
}

但若将第24行改为

ans=max(ans,sum[i]-sum[i-w]);

则可以AC。
为什么?

2024/3/11 17:00
加载中...