不会了,求解答
  • 板块学术版
  • 楼主xiaoxiaoxia
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/18 14:40
  • 上次更新2024/8/18 17:15:19
查看原帖
不会了,求解答
677127
xiaoxiaoxia楼主2024/8/18 14:40

我的代码神奇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;
}
2024/8/18 14:40
加载中...