以下是我的代码:
#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有啥特别区别?