#include<bits/stdc++.h>
using namespace std;
const int N=1e7+100;
long long l[N],r[N],v[N],ans;
int main(){
long long n,k,cnt;
cin>>n>>k;
l[1]=1,r[1]=1,v[1]=k;
for(long long i=2;;i++){
l[i]=r[i-1]+1;
if(l[i]>k){
cnt=l[i];
break;
}
v[i]=k/l[i];
r[i]=k/v[i];
}
for(long long i=1;r[i]!=0&&l[i]!=0;i++){
ans=ans+(r[i]-l[i]+1)*(k%r[i]+k%l[i])/2;
}
cout<<ans+(n-cnt+1)*k;
return 0;
}
用题解的代码比较过输出了,输入什么输出都一样,为什么只有50分??!