求助昨晚cf的B题,莫名其妙的错误一直不知道为什么
  • 板块学术版
  • 楼主xiaoyaohanzi
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/10/8 11:17
  • 上次更新2023/10/27 08:13:10
查看原帖
求助昨晚cf的B题,莫名其妙的错误一直不知道为什么
607785
xiaoyaohanzi楼主2022/10/8 11:17

以下是我的代码:

#include <bits/stdc++.h>
#define ll unsigned long long
#define pii pair<int,int>
#define pdd pair<double,double>
#define x first
#define y second
#define pb push_back
#define pf push_front

const int INF = 2147483647;
const ll LNF = 9223372036854775807;
const double eps = 1e-8;

using namespace std;

long long query(ll x)
{
	if(!x) return 0;
	ll ans = sqrt(x);
	ll res = 0;
	res += 3*(ans-1);
	if(x >= ans*ans)
		res ++;
	if(x >= ans*ans+ans)
		res ++;
	if(x >= ans*ans+2*ans)
		res ++;
	return res;
}

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	int _;
	cin>>_;
	while(_ --)
	{
		ll l,r;
		cin>>l>>r;
		cout<<query(r)-query(l-1)<<endl;
	}
    return 0;
}

这代码可以过所有的样例,但是一提交就疯狂wa,考完之后发现wa的数据是1 890934354128376100,问题是这数据我在DEV上跑的没有任何问题,但一提交到codeforces上就会输出的和我DEV上的结果不一样,但是当我把第二行的"#define ll unsigned long long"改成"#define ll long long"的时候结果AC了,这是为啥,cf的ull和ll有啥特别区别?

2022/10/8 11:17
加载中...