我的代码神奇CE了,求解。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int Mod=1e9+7;
int ans=0;
int solve(int x)
{
int i;
i=sqrt(x);
if(i*i==x)
return x;
int x2;
x2=(i+1)*(i+1);
if((x2-x)>(x-i*i))
return i*i;
else if((x2-x)<(x-i*i))
return x2;
else
return 0;
}
signed main()
{
int l, r;
cin>>l>>r;
for(int i=l;i<=r;i++)
{
if(solve(i)==0)
{
cout<<"Game Over"<<endl;
return 0;
}
else if(solve(i)%2==0)
{
ans-=i;
}
else
{
ans+=i;
}
}
if(ans<0)
{
cout<<(ans-floor(1.0*ans\Mod)*Mod)<<endl;
}
else if(ans==0)
{
cout<<0<<endl;
}
else
{
cout<<ans%Mod<<endl;
}
return 0;
}