大地母親在忽悠着你
題目描述
大地母親在護佑着你……
……
對不住了,我不想寫背景了。
……
某牛頭人:願大地母親寬恕你的罪行……
……
如何得到寬恕?
……
某牛頭人:計算
……
大地母親你真在忽悠我……
輸入格式
第一行
輸出格式
輸出一個數字,即答案。
樣例輸入
5 3
樣例輸出
7
樣例解釋
答案爲
數據範圍
Solution
Code
#include <iostream>
#include <cstdio>
#define LL unsigned long long
#define Min(x,y) ((x)<(y)?(x):(y))
using namespace std;
LL m,n,minx,ans;
int main(){
freopen("cheat.in","r",stdin);
freopen("cheat.out","w",stdout);
scanf("%llu%llu",&m,&n);
minx=Min(m,n);
ans=n*m;
for(LL i=1,it;i<=minx;i=it+1){
it=Min(minx,n/(n/i));
ans-=(n/i)*((it+i)*(it-i+1)/2);
}
printf("%llu\n",ans);
return 0;
}