提出 #31263600
ソースコード 拡げる
def solve():
INF = 1000000000000000000
n, k = map(int, input().split())
a = [int(input()) for i in range(n)]
s = [a[0]] * n # a の累積和
for i in range(n - 1):
s[i + 1] = s[i] + a[i + 1]
if s[-1] == k:
print(1) # コーナーケース
return
dp = [[INF] * (n + 1) for i in range(n)]
# dp[i][j] = i 日目までに j 日機嫌が良くなるために必要な勝利回数の最小値
dp[0][0] = 0
dp[0][1] = 1
for i in range(1, n):
for j in range(n + 1):
dp[i][j] = dp[i - 1][j]
if j > 0:
# i 日目に機嫌を良くすることを考える
# i - 1 日目までの勝率は dp[i - 1][j - 1] / s[i - 1]
# 今日の勝利回数を x として i - 1 日目までの勝率を超えるには
# dp[i - 1][j - 1] / s[i - 1] < x / a[i]
# x > (dp[i - 1][j - 1] * a[i - 1]) / s[i - 1]
x = (dp[i - 1][j - 1] * a[i]) // s[i - 1] + 1
dp[i][j] = min(dp[i][j], dp[i - 1][j - 1] + x)
answer = 0
for i in range(n + 1):
if dp[n - 1][i] <= k:
answer = i
print(answer)
solve()
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - 高橋君ゲーム |
| ユーザ | Pro_ktmr |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 100 |
| コード長 | 1236 Byte |
| 結果 | AC |
| 実行時間 | 521 ms |
| メモリ | 105888 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 100 / 100 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt, s4.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, s1.txt, s2.txt, s3.txt, s4.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01.txt | AC | 521 ms | 105380 KiB |
| 02.txt | AC | 422 ms | 105464 KiB |
| 03.txt | AC | 415 ms | 105532 KiB |
| 04.txt | AC | 416 ms | 105672 KiB |
| 05.txt | AC | 413 ms | 105656 KiB |
| 06.txt | AC | 421 ms | 105468 KiB |
| 07.txt | AC | 416 ms | 105628 KiB |
| 08.txt | AC | 419 ms | 105628 KiB |
| 09.txt | AC | 423 ms | 105792 KiB |
| 10.txt | AC | 415 ms | 105452 KiB |
| 11.txt | AC | 417 ms | 105520 KiB |
| 12.txt | AC | 415 ms | 105308 KiB |
| 13.txt | AC | 424 ms | 105504 KiB |
| 14.txt | AC | 423 ms | 105756 KiB |
| 15.txt | AC | 426 ms | 105612 KiB |
| 16.txt | AC | 427 ms | 105652 KiB |
| 17.txt | AC | 418 ms | 105444 KiB |
| 18.txt | AC | 419 ms | 105516 KiB |
| 19.txt | AC | 416 ms | 105500 KiB |
| 20.txt | AC | 417 ms | 105608 KiB |
| 21.txt | AC | 85 ms | 73664 KiB |
| 22.txt | AC | 83 ms | 73876 KiB |
| 23.txt | AC | 416 ms | 105580 KiB |
| 24.txt | AC | 414 ms | 105384 KiB |
| 25.txt | AC | 83 ms | 73884 KiB |
| 26.txt | AC | 83 ms | 73740 KiB |
| 27.txt | AC | 81 ms | 73636 KiB |
| 28.txt | AC | 85 ms | 73756 KiB |
| 29.txt | AC | 426 ms | 105888 KiB |
| 30.txt | AC | 423 ms | 105396 KiB |
| 31.txt | AC | 421 ms | 105636 KiB |
| 32.txt | AC | 422 ms | 105620 KiB |
| 33.txt | AC | 423 ms | 105556 KiB |
| 34.txt | AC | 420 ms | 105712 KiB |
| 35.txt | AC | 430 ms | 105504 KiB |
| 36.txt | AC | 417 ms | 105500 KiB |
| 37.txt | AC | 414 ms | 105452 KiB |
| 38.txt | AC | 183 ms | 99512 KiB |
| 39.txt | AC | 185 ms | 99228 KiB |
| 40.txt | AC | 413 ms | 105480 KiB |
| 41.txt | AC | 410 ms | 105620 KiB |
| 42.txt | AC | 334 ms | 105728 KiB |
| 43.txt | AC | 331 ms | 105656 KiB |
| 44.txt | AC | 418 ms | 105688 KiB |
| 45.txt | AC | 421 ms | 105480 KiB |
| 46.txt | AC | 417 ms | 105600 KiB |
| 47.txt | AC | 415 ms | 105544 KiB |
| 48.txt | AC | 421 ms | 105444 KiB |
| 49.txt | AC | 416 ms | 105640 KiB |
| 50.txt | AC | 421 ms | 105720 KiB |
| 51.txt | AC | 51 ms | 61332 KiB |
| 52.txt | AC | 52 ms | 61532 KiB |
| 53.txt | AC | 50 ms | 61452 KiB |
| 54.txt | AC | 49 ms | 61512 KiB |
| 55.txt | AC | 54 ms | 61500 KiB |
| 56.txt | AC | 52 ms | 61432 KiB |
| 57.txt | AC | 51 ms | 61516 KiB |
| 58.txt | AC | 50 ms | 61288 KiB |
| 59.txt | AC | 53 ms | 61532 KiB |
| 60.txt | AC | 53 ms | 61472 KiB |
| 61.txt | AC | 50 ms | 61468 KiB |
| 62.txt | AC | 50 ms | 61508 KiB |
| 63.txt | AC | 50 ms | 61504 KiB |
| 64.txt | AC | 53 ms | 61548 KiB |
| s1.txt | AC | 52 ms | 61484 KiB |
| s2.txt | AC | 50 ms | 61632 KiB |
| s3.txt | AC | 51 ms | 61424 KiB |
| s4.txt | AC | 49 ms | 61524 KiB |