結果
問題 | No.1849 Three Times Value |
ユーザー |
![]() |
提出日時 | 2025-03-20 21:18:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 37 ms / 2,000 ms |
コード長 | 697 bytes |
コンパイル時間 | 137 ms |
コンパイル使用メモリ | 82,388 KB |
実行使用メモリ | 53,492 KB |
最終ジャッジ日時 | 2025-03-20 21:19:25 |
合計ジャッジ時間 | 1,996 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
N_str = input().strip()L = len(N_str)k_max = L // 3answer = 0for k in range(1, k_max + 1):if 3 * k < L:count = 9 * (10 ** (k - 1))answer += countelse:min_m = 10 ** (k - 1)max_m = 10 ** k - 1if min_m > max_m:continuelow = min_mhigh = max_mbest = 0while low <= high:mid = (low + high) // 2mid_str = str(mid)candidate = mid_str * 3if candidate <= N_str:best = midlow = mid + 1else:high = mid - 1if best >= min_m:answer += best - min_m + 1print(answer)