結果

問題 No.3696 Betting Machine
コンテスト
ユーザー titia
提出日時 2026-11-10 05:15:53
言語 PyPy3
(8.0.1 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 1,020 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 110 ms
コンパイル使用メモリ 64,384 KB
実行使用メモリ 62,720 KB
最終ジャッジ日時 2026-11-10 05:15:59
合計ジャッジ時間 5,909 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 18 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code


import sys
input = sys.stdin.readline
eps=0.00000000001
S,T,N=list(map(int,input().split()))
A=[list(map(int,input().split())) for i in range(3)]

DP=[-1]*(N+1)*(T+1)
def calc(kai,coin):
    global IND
    if coin>=T:
        return 1
    if kai==N:
        return 0
    if DP[kai*(T+1)+coin]!=-1:
        return DP[kai*(T+1)+coin]
    
    MAX=0
    ind=[]

    for i in range(1,coin+1):
        kakuritu=0
        
        p,a,b=A[0]

        ret=(coin-i)+a*i//b
        x=calc(kai+1,ret)

        kakuritu+=p*x/100
        
        p,a,b=A[1]

        ret=(coin-i)+a*i//b
        x=calc(kai+1,ret)

        kakuritu+=p*x/100
        p,a,b=A[2]

        ret=(coin-i)+a*i//b
        x=calc(kai+1,ret)

        kakuritu+=p*x/100

        if abs(MAX-kakuritu)<=eps:
            ind.append(i)
        elif MAX<kakuritu:
            MAX=kakuritu
            ind=[i]

    DP[kai*(T+1)+coin]=MAX

    if kai==0:
        IND=ind

    return MAX
IND=[]
ANS=calc(0,S)
        
print(int(ANS*100))
print(len(IND))
print(*IND)

0