M_sea

洛谷2261 [CQOI2007]余数求和
Luogu算法数论分块。代码#include <bits/stdc++.h> #define re r...
扫描右侧二维码阅读全文
26
2018/02

洛谷2261 [CQOI2007]余数求和

Luogu

算法

数论分块。

代码

#include <bits/stdc++.h>
#define re register
typedef int mainint;
#define int long long
using namespace std;
mainint main() {
    int n,k; cin>>n>>k;
    int ans=n*k;
    for (re int l=1,r;l<=n;l=r+1) {
        if (k/l) r=min(k/(k/l),n);
        else r=n;
        ans-=(k/l)*(r-l+1)*(l+r)/2;
    }
    cout<<ans<<endl;
    return 0;
}
最后修改:2018 年 11 月 30 日 09 : 47 PM

1 条评论

  1. ych jr

    为什么我做这道题sb到用二分,,,

发表评论