結果
| 問題 | No.783 門松計画 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2022-06-21 21:45:10 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 1,526 bytes | 
| コンパイル時間 | 242 ms | 
| コンパイル使用メモリ | 82,304 KB | 
| 実行使用メモリ | 114,304 KB | 
| 最終ジャッジ日時 | 2024-10-14 16:47:41 | 
| 合計ジャッジ時間 | 4,278 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 6 WA * 4 TLE * 1 -- * 16 | 
ソースコード
n,c = map(int,input().split())
l = [int(i) for i in input().split()]
w = [int(i) for i in input().split()]
cdd = {}
for i in range(n):
    if l[i] in cdd:
        cdd[l[i]] = min(cdd[l[i]],w[i])
    else:
        cdd[l[i]] = w[i]
num = len(cdd)
if num <= 2:
    print(0)
    exit()
kh = []
for li in cdd:
    kh.append([li,cdd[li]])
#kh.sort()
#print(kh)
dp = [[0]*(c+1) for i in range((num)*num)]
for i in range(num):
    dp[i][kh[i][1]] = kh[i][0]
for i in range(num):
    for j in range(num):
        if i == j:
            continue
        for k in range(c+1):
            if dp[i][k] != 0 and k+kh[j][1] <= c:
                dp[i*num+j][k+kh[j][1]] = max(dp[i][k] + kh[j][0],dp[i*num+j][k+kh[j][1]])
for _ in range(c):
    for i in range(num*num):
        for j in range(num):
            a0 = i//num
            a1 = i%num
            if a0 == j or a1 == j:#同じ長さならスルー
                continue
            ndp = dp[:]
            for k in range(c+1):
                if dp[i][k] != 0 and k+kh[j][1] <= c:
                    if a0 < a1:
                        if a1 > j:
                            ndp[a1*num+j][k+kh[j][1]] = max(dp[i][k] + kh[j][0],ndp[a1*num+j][k+kh[j][1]])
                    else:
                        if a1 < j:
                            ndp[a1*num+j][k+kh[j][1]] = max(dp[i][k] + kh[j][0],ndp[a1*num+j][k+kh[j][1]])
    #print(dp,ndp)
            dp = ndp[:]
ans = 0
for i in range(num*num):
    for j in range(c+1):
        ans = max(ans,dp[i][j])
print(ans)
            
            
            
        