結果

問題 No.2317 Expression Menu
ユーザー ID 21712
提出日時 2025-05-06 01:15:44
言語 Go
(1.23.4)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 539 bytes
コンパイル時間 11,702 ms
コンパイル使用メモリ 246,512 KB
実行使用メモリ 6,272 KB
最終ジャッジ日時 2025-05-06 01:15:58
合計ジャッジ時間 14,099 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 37
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"
import . "slices"

func main() {
	var n,x,y int
	Scan(&n,&x,&y)
	dp := make([][]int, x+1)
	for i := range dp {
		dp[i] = make([]int, y+1)
	}
	for i := 0; i < n; i++ {
		var a, b, c int
		Scan(&a,&b,&c)
		for u := x-a; u >= 0; u-- {
			for v := y-b; v >= 0; v-- {
				if dp[u][v] == 0 {
					continue
				}
				dp[u+a][v+b] = max(dp[u+a][v+b], dp[u][v]+c)
			}
		}
		if a <= x && b <= y {
			dp[a][b] = max(dp[a][b], c)
		}
	}
	var ans int
	for _, tmp := range dp {
		ans = max(ans, Max(tmp))
	}
	Println(ans)
}
0