結果
| 問題 |
No.1407 Kindness
|
| コンテスト | |
| ユーザー |
ntuda
|
| 提出日時 | 2025-03-01 12:55:27 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 64 ms / 2,000 ms |
| コード長 | 680 bytes |
| コンパイル時間 | 473 ms |
| コンパイル使用メモリ | 82,740 KB |
| 実行使用メモリ | 83,144 KB |
| 最終ジャッジ日時 | 2025-03-01 12:55:31 |
| 合計ジャッジ時間 | 3,899 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 36 |
ソースコード
MOD = 10 ** 9 + 7
S = input()
N = len(S)
X1 = [1]
X2 = []
X3 = [0]
tmp = 0
for i in range(10):
tmp += i
X2.append(tmp)
X2.append(0)
tmp = 45
for i in range(1,N):
X1.append(tmp)
X3.append((X3[i-1] + tmp) % MOD)
tmp *= 45
tmp %= MOD
def solve(x):
S = str(x)
NS = len(S)
tmp = 1
ans = 0
ans = X3[NS-1]
for i,s in enumerate(S):
a = int(s)
ni = NS - i - 1
if i == NS - 1:
ans += tmp * X2[a] * X1[ni]
ans %= MOD
else:
ans += tmp * X2[a-1] * X1[ni]
ans %= MOD
#print(a,ni,ans)
tmp *= int(s)
tmp %= MOD
return ans
print(solve(S))
ntuda