結果
| 問題 | No.634 硬貨の枚数1 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-07-25 22:40:26 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 548 bytes |
| 記録 | |
| コンパイル時間 | 235 ms |
| コンパイル使用メモリ | 96,104 KB |
| 実行使用メモリ | 84,096 KB |
| 最終ジャッジ日時 | 2026-07-25 22:40:39 |
| 合計ジャッジ時間 | 12,729 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 74 WA * 1 |
ソースコード
from bisect import bisect_right
N = int(input())
material = [1]
diff = 2
for i in range(10000):
sub = material[-1] + diff
if sub > 10**7:
break
material.append(sub)
diff += 1
start = bisect_right(material, N) - 1
ans = 1e18
for i in range(start, -1, -1): # 使う硬貨の最大値は material[start]
nokori = N
cnt = 0
for j in range(i, -1, -1):
# 貪欲に使う
sho, amari = divmod(nokori, material[j])
cnt += sho
nokori = amari
if ans > cnt:
ans = cnt
print(ans)