結果

問題 No.3014 岩井満足性問題
ユーザー ID 21712
提出日時 2025-01-25 20:31:16
言語 Go
(1.23.4)
結果
AC  
実行時間 254 ms / 3,000 ms
コード長 706 bytes
コンパイル時間 11,864 ms
コンパイル使用メモリ 238,380 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2025-01-26 00:07:21
合計ジャッジ時間 13,620 ms
ジャッジサーバーID
(参考情報)
judge7 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"
import . "math"

func main() {
	var n,d,k int
	Scan(&n,&d,&k)
	a := make([]int64, n)
	c := make([]int, n)
	for i:= range a {
		Scan(&a[i])
	}
	for i:= range c {
		Scan(&c[i])
	}
	dp := make([][]int64, d+1)
	for i:=range dp {
		dp[i] = make([]int64, k+1)
		for j := range dp[i] {
			dp[i][j] = MinInt64
		}
	}
	dp[0][0] = 0
	for i, va := range a {
		vc := c[i]
		for j:=d-1; j>=0; j-- {
			for xc, xa := range dp[j] {
				if xa == MinInt64 {
					continue
				}
				zc := vc+xc
				if zc > k {
					zc = k
				}
				za := va+xa
				if za > dp[j+1][zc] {
					dp[j+1][zc] = za
				}
			}
		}
	}
	if ans := dp[d][k]; ans == MinInt64 {
		Println("No")
	} else {
		Println(ans)
	}
}
0