提出 #47176282
ソースコード 拡げる
// LUOGU_RID: 133092620
#include <bits/stdc++.h>
using namespace std;
const int P = 1000000007;
inline int poww(int a, int b) {
int r = 1;
for (; b; b >>= 1, a = 1ll * a * a % P) if (b & 1) r = 1ll * r * a % P;
return r;
}
int n, k, f[100005];
vector<int> d;
int main(void) {
cin >> n >> k;
for (int i = 1; i * i <= n; ++i) if (n % i == 0) {
d.emplace_back(i);
if (i * i != n) d.emplace_back(n / i);
}
sort(d.begin(), d.end());
int ans = 0;
for (int i = 0; i < d.size(); ++i) {
f[i] = poww(k, d[i] + 1 >> 1);
for (int j = 0; j < i; ++j) if (d[i] % d[j] == 0) f[i] = (f[i] - f[j]) % P;
ans = (ans + 1ll * f[i] * (d[i] % 2 ? d[i] : d[i] / 2)) % P;
}
cout << (ans + P) % P << "\n";
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Rotated Palindromes |
| ユーザ | james1BadCreeper |
| 言語 | C++ 17 (gcc 12.2) |
| 得点 | 1000 |
| コード長 | 826 Byte |
| 結果 | AC |
| 実行時間 | 5 ms |
| メモリ | 3640 KiB |
コンパイルエラー
Main.cpp: In function ‘int main()’:
Main.cpp:23:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
23 | for (int i = 0; i < d.size(); ++i) {
| ~~^~~~~~~~~~
Main.cpp:24:29: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
24 | f[i] = poww(k, d[i] + 1 >> 1);
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 1000 / 1000 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
| All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00.txt | AC | 1 ms | 3464 KiB |
| 0_01.txt | AC | 1 ms | 3328 KiB |
| 0_02.txt | AC | 1 ms | 3408 KiB |
| 0_03.txt | AC | 1 ms | 3420 KiB |
| 1_00.txt | AC | 1 ms | 3328 KiB |
| 1_01.txt | AC | 1 ms | 3640 KiB |
| 1_02.txt | AC | 1 ms | 3460 KiB |
| 1_03.txt | AC | 1 ms | 3336 KiB |
| 1_04.txt | AC | 1 ms | 3452 KiB |
| 1_05.txt | AC | 1 ms | 3492 KiB |
| 1_06.txt | AC | 1 ms | 3416 KiB |
| 1_07.txt | AC | 1 ms | 3496 KiB |
| 1_08.txt | AC | 1 ms | 3460 KiB |
| 1_09.txt | AC | 1 ms | 3536 KiB |
| 1_10.txt | AC | 1 ms | 3400 KiB |
| 1_11.txt | AC | 1 ms | 3492 KiB |
| 1_12.txt | AC | 1 ms | 3416 KiB |
| 1_13.txt | AC | 1 ms | 3492 KiB |
| 1_14.txt | AC | 1 ms | 3500 KiB |
| 1_15.txt | AC | 1 ms | 3396 KiB |
| 1_16.txt | AC | 4 ms | 3464 KiB |
| 1_17.txt | AC | 5 ms | 3408 KiB |
| 1_18.txt | AC | 4 ms | 3428 KiB |
| 1_19.txt | AC | 4 ms | 3504 KiB |
| 1_20.txt | AC | 4 ms | 3468 KiB |
| 1_21.txt | AC | 4 ms | 3512 KiB |
| 1_22.txt | AC | 4 ms | 3512 KiB |
| 1_23.txt | AC | 4 ms | 3436 KiB |
| 1_24.txt | AC | 1 ms | 3420 KiB |
| 1_25.txt | AC | 1 ms | 3456 KiB |
| 1_26.txt | AC | 1 ms | 3448 KiB |
| 1_27.txt | AC | 1 ms | 3480 KiB |
| 1_28.txt | AC | 1 ms | 3396 KiB |
| 1_29.txt | AC | 1 ms | 3448 KiB |
| 1_30.txt | AC | 1 ms | 3492 KiB |
| 1_31.txt | AC | 1 ms | 3392 KiB |