結果
問題 |
No.1164 GCD Products hard
|
ユーザー |
![]() |
提出日時 | 2025-04-15 21:46:17 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 819 bytes |
コンパイル時間 | 450 ms |
コンパイル使用メモリ | 82,508 KB |
実行使用メモリ | 126,276 KB |
最終ジャッジ日時 | 2025-04-15 21:47:33 |
合計ジャッジ時間 | 7,980 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 2 |
other | TLE * 1 -- * 26 |
ソースコード
MOD = 10**9 + 7 A, B, N = map(int, input().split()) max_d = B e = [0] * (max_d + 1) total_e = 0 # Process d from B down to 2 for d in range(max_d, 1, -1): L = (A + d - 1) // d R = B // d m = R - L + 1 if m < 1: e[d] = 0 continue sum_e = 0 k = 2 while k * d <= max_d: sum_e = (sum_e + e[k * d]) % MOD k += 1 current_e = (pow(m, N, MOD) - sum_e) % MOD e[d] = current_e total_e = (total_e + current_e) % MOD # Process d=1 L = (A + 1 - 1) // 1 R = B // 1 m = R - L + 1 # m = B - A + 1 sum_e = total_e # sum of e[2..B] current_e = (pow(m, N, MOD) - sum_e) % MOD e[1] = current_e # Compute the final product result = 1 for d in range(1, max_d + 1): if e[d] == 0: continue result = (result * pow(d, e[d], MOD)) % MOD print(result)