結果

問題 No.3681 心の沸騰石
コンテスト
ユーザー ryotade
提出日時 2026-09-05 17:35:08
言語 PyPy3
(7.3.23)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 54 ms / 2,000 ms
+ 792µs
コード長 1,056 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 219 ms
コンパイル使用メモリ 96,080 KB
実行使用メモリ 79,040 KB
最終ジャッジ日時 2026-09-05 17:35:30
合計ジャッジ時間 2,855 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge5_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#前に提出したコードに反例あり
"""
R, P, Q = map(int, input().split())
a, b, c, d = map(int, input().split())
li = [a, b, c, 5 * 10 ** 11]
li.sort()
ans = 0
for k in range(4):
    num = R // (P + Q * k)
    point = li[k]
    if(num >= point and point * k <= d):
        li[0], li[1], li[2], li[3] = li[0] - point, li[1] - point, li[2] - point, li[3] - point
        ans += point
        d -= point * k
        R -= point * (P + Q * k)
    else:
        if(k == 0):
            min_people = R // P
        else:
            min_people = min(R // (P + Q * k), d // k)
        print(ans + min_people)
        break



反例
45 3 5
1 1 10 6
緑以外の人も変えることができるため
たまたま
"""




R, P, Q = map(int, input().split())
A, B, C, D = map(int, input().split())

def cost(x):
    need = max(0, x - A) + max(0, x - B) + max(0, x - C)
    return x * P + need * Q

lo, hi = 0, (A + B + C + D) // 3
while lo < hi:
    mid = (lo + hi + 1) // 2
    if cost(mid) <= R:
        lo = mid
    else:
        hi = mid - 1
print(lo)
0