結果

問題 No.2741 Balanced Choice
ユーザー ID 21712
提出日時 2025-04-20 18:24:40
言語 Go
(1.23.4)
結果
WA  
実行時間 -
コード長 581 bytes
コンパイル時間 12,200 ms
コンパイル使用メモリ 244,676 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-04-20 18:24:54
合計ジャッジ時間 14,175 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 2
other AC * 1 WA * 9
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"

func main() {
	var n,w,d int
	Scan(&n,&w,&d)
	dp := make([][]int, 2)
	for i := range dp {
		dp[i] = make([]int, w+1)
		for j := range dp[i] {
			dp[i][j] = -1e9
		}
	}
	dp[0][0] = 0
	dp[1][0] = 0
	for i := 0; i < n; i++ {
		var ti,wi,vi int
		Scan(&ti,&wi,&vi)
		tmp := dp[ti]
		for x := w-wi; x >= 0; x-- {
			tmp[x+wi] = max(tmp[x+wi],tmp[x]+vi)
		}
	}
	var ans int
	for w0 := 0; w0 <= w; w0++ {
		for w1 := 0; w1 <= w; w1++ {
			if w0+w1 > w && max(w1-w0,w0-w1) != d {
				continue
			}
			ans = max(ans, dp[0][w0]+dp[1][w1])
		}
	}
	Println(ans)
}
0