1363

来源:互联网 发布:mac mysql 官网下载 编辑:程序博客网 时间:2024/06/06 04:50

分析kmodi以及kmod(i+1)的余数的大小规律,然后按照分析出来的等差数列的性质进行求解,注意长整型的使用避免溢出,具体实现见如下代码:

#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>#include<functional>using namespace std;typedef long long LL;long long  getRes(int total,int q,int p){int first = q;int last = q - total*p;return (long long)(first + last)*(total+1) / 2;}int main(){int n, k;while (cin >> n >> k){int i = 1;int cnt = 0;LL ans = 0;while (i <= n){int p = k / i, q = k%i;cnt = n - i;if(p>0) cnt = min(cnt, q / p);ans += getRes(cnt, q, p);i += cnt+1;}cout << ans << endl;}return 0;}

原创粉丝点击