結果
問題 |
No.783 門松計画
|
ユーザー |
![]() |
提出日時 | 2024-10-25 15:44:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 243 ms / 2,000 ms |
コード長 | 673 bytes |
コンパイル時間 | 294 ms |
コンパイル使用メモリ | 82,296 KB |
実行使用メモリ | 77,936 KB |
最終ジャッジ日時 | 2024-10-25 15:44:13 |
合計ジャッジ時間 | 3,707 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
n,C=map(int,input().split()) L=50 V=list(map(int,input().split())) W=list(map(int,input().split())) q=[[[-1]*(L+1) for j in range(L+1)] for i in range(L+1)] for i1 in range(n): for i2 in range(n): v1,w1=V[i1],W[i1] v2,w2=V[i2],W[i2] if w1+w2<=C and v1!=v2: q[C-w1-w2][v1][v2]=v1+v2 ans=0 for c in reversed(range(L+1)): for v1 in range(L+1): for v2 in range(L+1): if q[c][v1][v2]!=-1: for i3 in range(n): v3,w3=V[i3],W[i3] if c-w3>=0 and v1!=v3 and v2!=v3: if v1<v2>v3 or v1>v2<v3: q[c-w3][v2][v3]=max(q[c-w3][v2][v3],q[c][v1][v2]+v3) ans=max(ans,q[c-w3][v2][v3]) print(ans)