[关闭]
@wsndy-xx 2018-06-13T01:26:18.000000Z 字数 373 阅读 828

bzoj 1257

题解


question:



计算 然后数论分块
或者直接数论分块

code

  1. #include <iostream>
  2. int main() {
  3. int n, k;
  4. long long Answer = 0;
  5. std:: cin >> n >> k;
  6. for(int i = 1, r; i <= n; i = r + 1) {
  7. if(k / i) r = std:: min(n, (int)k / (k / i));
  8. else r = n;
  9. Answer += (1LL * (r - i + 1) * k - 1LL * (k / i) * (i + r) * (r - i + 1) / 2);
  10. }
  11. std:: cout << Answer;
  12. return 0;
  13. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注