提出 #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
結果
AC × 4
AC × 36
セット名 テストケース
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