有数数学题,关于mod的,这样,我们就可以转化为整除,再用根号n来计算,很是方便。
这题最大取到哪儿让我wa了好久233。
#include<bits/stdc++.h>
using namespace std;
long long n,k,Ans,nex;
long long sum(long long x)
{
return x*(x+1)/2;
}
int main()
{
cin>>n>>k;
Ans=n*k;
for(long long i=1;i<=min(n,k);i=nex+1)
{
nex=k/(k/i);
Ans-=(sum(min(nex,n))-sum(i-1))*(k/nex);
}
cout<<Ans;
}