結果

問題 No.1457 ツブ消ししとるなHard
ユーザー tatt61880tatt61880
提出日時 2021-04-06 21:39:54
言語 Kuin
(KuinC++ v.2021.9.17)
結果
AC  
実行時間 11 ms / 2,000 ms
コード長 1,064 bytes
コンパイル時間 2,551 ms
コンパイル使用メモリ 148,632 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-09-16 12:26:50
合計ジャッジ時間 3,546 ms
ジャッジサーバーID
(参考情報)
judge4 / judge6
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 1 ms
6,940 KB
testcase_02 AC 2 ms
6,948 KB
testcase_03 AC 2 ms
6,940 KB
testcase_04 AC 10 ms
6,940 KB
testcase_05 AC 9 ms
6,940 KB
testcase_06 AC 11 ms
6,940 KB
testcase_07 AC 2 ms
6,940 KB
testcase_08 AC 1 ms
6,940 KB
testcase_09 AC 2 ms
6,940 KB
testcase_10 AC 2 ms
6,940 KB
testcase_11 AC 2 ms
6,940 KB
testcase_12 AC 5 ms
6,944 KB
testcase_13 AC 2 ms
6,944 KB
testcase_14 AC 3 ms
6,944 KB
testcase_15 AC 2 ms
6,944 KB
testcase_16 AC 2 ms
6,940 KB
testcase_17 AC 2 ms
6,944 KB
testcase_18 AC 2 ms
6,940 KB
testcase_19 AC 10 ms
6,940 KB
testcase_20 AC 2 ms
6,944 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

func main()
	var n: int :: cui@inputInt()
	var m: int :: cui@inputInt()
	var x: int :: cui@inputInt()
	var y: int :: cui@inputInt()
	var z: int :: cui@inputInt()
	var a: []int :: #[n]int
	for i(0, n - 1)
		do a[i] :: cui@inputInt()
	end for
	var b: []int :: #[0]int
	var remSum: int :: 0
	var remNum: int :: 0
	for i(0, n - 1)
		if(y < a[i] & a[i] < x)
			do b :~ [a[i]]
		elif(a[i] >= x)
			do remSum :+ a[i]
			do remNum :+ 1
		end if
	end for
	do b.sort()
	var num: int :: ^b
	; dp[i][j] = val
	; i: 残したツイート数
	; j: 合計いいね
	; val: 通り数
	var dp: [][]int :: #[num + 1, num * 50 + 1]int
	do dp[0][0] :: 1
	for k(0, num - 1)
		for i(k, 0, -1)
			for j(num * 50, 0, -1)
				if(dp[i][j] <> 0)
					do dp[i + 1][j + b[k]] :+ dp[i][j]
				end if
			end for
		end for
	end for
	
	var ans: int :: 0
	for i(1, [num, m - remNum].min())
		for j(0, num * 50)
			if((i + remNum) * z = j + remSum)
				do ans :+ dp[i][j]
			end if
		end for
	end for
	if(remNum > m)
		do cui@print("Handicapped\n")
	else
		do cui@print("\{ans}\n")
	end if
end func
0