結果

問題 No.2693 Sword
ユーザー cologne
提出日時 2025-06-12 15:38:18
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 65 ms / 2,000 ms
コード長 383 bytes
コンパイル時間 232 ms
コンパイル使用メモリ 82,100 KB
実行使用メモリ 71,908 KB
最終ジャッジ日時 2025-06-12 15:38:38
合計ジャッジ時間 2,822 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

def apply(v, t, b):
    return min(10**18+1, v + b if t == 1 else v * 2)


def main():
    n, p, k = map(int, input().split())
    dp = [p] * (k+1)
    for _ in range(n):
        t, b = map(int, input().split())
        for i in range(k, 0, -1):
            dp[i] = max(dp[i], apply(dp[i-1], t, b))
    print(-1 if dp[k] > 10**18 else dp[k])


if __name__ == '__main__':
    main()
0