[CQOI2007]余数求和

【代码】

#include<bits/stdc++.h>

#define LL long long

using namespace std;


int main() {
	LL n, k, t, ans;
	#define LL long long
	scanf("%lld%lld", &n, &k);
	ans = (LL) n * k; 
	for(LL l = 1,r; l <= n;l = r + 1) {
		r = (t = k / l) ? min(k / t, n) : n;
		ans = (ans - (r - l + 1) * t * (l + r) / 2);
	}
	printf("%lld\n", ans);
	return 0;
}
posted @ 2018-03-28 18:48  绍兴土匪  阅读(106)  评论(0编辑  收藏  举报