結果
問題 | No.783 門松計画 |
ユーザー | sasa8uyauya |
提出日時 | 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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 51 ms
63,100 KB |
testcase_01 | AC | 49 ms
63,172 KB |
testcase_02 | AC | 52 ms
65,096 KB |
testcase_03 | AC | 49 ms
62,108 KB |
testcase_04 | AC | 50 ms
63,716 KB |
testcase_05 | AC | 50 ms
63,284 KB |
testcase_06 | AC | 50 ms
62,960 KB |
testcase_07 | AC | 50 ms
63,760 KB |
testcase_08 | AC | 50 ms
63,184 KB |
testcase_09 | AC | 51 ms
65,012 KB |
testcase_10 | AC | 103 ms
77,936 KB |
testcase_11 | AC | 243 ms
77,852 KB |
testcase_12 | AC | 158 ms
77,928 KB |
testcase_13 | AC | 93 ms
77,640 KB |
testcase_14 | AC | 93 ms
77,732 KB |
testcase_15 | AC | 58 ms
67,076 KB |
testcase_16 | AC | 57 ms
66,908 KB |
testcase_17 | AC | 58 ms
66,896 KB |
testcase_18 | AC | 48 ms
62,460 KB |
testcase_19 | AC | 76 ms
73,960 KB |
testcase_20 | AC | 48 ms
62,548 KB |
testcase_21 | AC | 48 ms
62,404 KB |
testcase_22 | AC | 51 ms
63,500 KB |
testcase_23 | AC | 48 ms
62,648 KB |
testcase_24 | AC | 72 ms
73,276 KB |
testcase_25 | AC | 58 ms
66,712 KB |
testcase_26 | AC | 84 ms
77,856 KB |
ソースコード
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)