这个代码为啥会RE?
查看原帖
这个代码为啥会RE?
1095195
aliah楼主2024/5/23 18:37
#include<bits/stdc++.h>
#define N 9997
using namespace std;
struct hs
{
	long long a;
	hs *next;
}*a[N],*p;
int main()
{
	long long n,k,i,ans=0,x;
	cin>>n>>k;
	long long b[n]={0};
	for(i=0;i<N;i++)
		a[i]=0;
	for(i=1;i<=n;i++)
	{
		b[i]=i;
		b[i]+=b[i-1];
		x=i*i;
		if(a[x%N]==0)
		{
			a[x%N]=new hs;
			a[x%N]->a=x;
			a[x%N]->next=0;
		}
		else
		{
			for(p=a[x%N];p->next;p=p->next);
			p->next=new hs;
			p=p->next;
			p->a=x;
			p->next=0;
		}
	}
	for(i=k;i<=n;i++)
	{
		x=b[i]-b[i-k];
		if(a[x%N])
		{
			for(p=a[x%N];p;p=p->next)
				if(p->a==x)
				{
					ans++;
					break;
				}
		}
	}
	cout<<ans;
	return 0; 
}
2024/5/23 18:37
加载中...