結果

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

ソースコード

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)]

from functools import lru_cache
@lru_cache(maxsize=None)
def calc(kai,coin):
    if coin>=T:
        return 1,tuple()
    if kai==N:
        return 0,tuple()
    
    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)[0]

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

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

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

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

        kakuritu+=p*x/100

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

    return MAX,tuple(ind)

ANS=calc(0,S)

prob,ind=ANS
        
print(int(prob*100))
print(len(ind))
print(*ind)

0