結果
| 問題 |
No.752 mod数列
|
| コンテスト | |
| ユーザー |
poyompoy
|
| 提出日時 | 2018-11-09 21:43:17 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 657 bytes |
| コンパイル時間 | 635 ms |
| コンパイル使用メモリ | 69,992 KB |
| 実行使用メモリ | 13,644 KB |
| 最終ジャッジ日時 | 2024-11-21 05:47:20 |
| 合計ジャッジ時間 | 55,424 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 TLE * 15 |
ソースコード
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
long long sum(long long l, long long r, long long k) {
l = min(l, k);
r = min(r, k);
return r * (r + 1) / 2 - l * (l + 1) / 2;
}
long long kinoe(long long n, long long k) {
long long res = 0;
int i;
for (i = 1; i * i <= n; i++) {
res += i * sum(n / (i + 1), n / i, k);
}
for (long long j = 1; j <= min(n / i, k); j++) {
res += (n / j) * j;
}
return res;
}
int main() {
long long p;
int q;
cin >> p >> q;
while (q--) {
int l, r;
scanf("%d %d", &l, &r);
cout << p * (r - l + 1) - (kinoe(p, r) - kinoe(p, l - 1)) << endl;
}
}
poyompoy