結果
| 問題 |
No.158 奇妙なお使い
|
| コンテスト | |
| ユーザー |
chocorusk
|
| 提出日時 | 2020-09-13 22:20:32 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 902 bytes |
| コンパイル時間 | 82 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 11,904 KB |
| 最終ジャッジ日時 | 2024-06-13 04:31:31 |
| 合計ジャッジ時間 | 2,089 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 23 RE * 4 |
ソースコード
import sys
read=sys.stdin.buffer.read
readline=sys.stdin.buffer.readline
readlines=sys.stdin.buffer.readlines
a1000, a100, a1=map(int, readline().split())
db=int(readline())
b1000, b100, b1=map(int, readline().split())
dc=int(readline())
c1000, c100, c1=map(int, readline().split())
dp={}
def solve(x1000, x100, x1):
if (x1000, x100, x1) in dp:
return dp[(x1000, x100, x1)]
ans=0
b=db
z1000=min(b//1000, x1000)
b-=z1000*1000
z100=min(b//100, x100)
b-=z100*100
z1=min(b, x1)
b-=z1
if b==0:
ans=max(ans, solve(x1000-z1000+b1000, x100-z100+b100, x1-z1+b1)+1)
c=dc
z1000=min(c//1000, x1000)
c-=z1000*1000
z100=min(c//100, x100)
c-=z100*100
z1=min(c, x1)
c-=z1
if c==0:
ans=max(ans, solve(x1000-z1000+c1000, x100-z100+c100, x1-z1+c1)+1)
dp[(x1000, x100, x1)]=ans
return ans
print(solve(a1000, a100, a1))
chocorusk