結果
問題 |
No.528 10^9と10^9+7と回文
|
ユーザー |
![]() |
提出日時 | 2023-07-22 16:42:33 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 551 ms / 1,000 ms |
コード長 | 582 bytes |
コンパイル時間 | 95 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 15,324 KB |
最終ジャッジ日時 | 2024-09-22 16:21:55 |
合計ジャッジ時間 | 6,831 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines sys.set_int_max_str_digits(10**6) MOD1 = 10 ** 9 MOD2 = 10 ** 9 + 7 MOD = MOD1 * MOD2 N = [int(x) - ord('0') for x in read().rstrip()] L = len(N) n = (L+1)//2 x = N[:n] if L & 1: X = x + x[:-1][::-1] else: X = x + x[::-1] answer = int(''.join(map(str, x))) % MOD if X > N: answer -= 1 answer -= pow(10, n - 1, MOD) - 1 for keta in range(1, L): d = (keta + 1) // 2 answer += 9 * pow(10, d - 1, MOD) print(answer % MOD1) print(answer % MOD2)