結果
問題 | No.1457 ツブ消ししとるなHard |
ユーザー |
|
提出日時 | 2024-05-26 21:27:32 |
言語 | C# (.NET 8.0.404) |
結果 |
AC
|
実行時間 | 98 ms / 2,000 ms |
コード長 | 1,617 bytes |
コンパイル時間 | 7,882 ms |
コンパイル使用メモリ | 165,160 KB |
実行使用メモリ | 184,716 KB |
最終ジャッジ日時 | 2024-12-20 20:26:13 |
合計ジャッジ時間 | 10,368 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (97 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System;using static System.Console;using System.Linq;using System.Collections.Generic;class Program{static int NN => int.Parse(ReadLine());static int[] NList => ReadLine().Split().Select(int.Parse).ToArray();static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray();public static void Main(){Solve();}static void Solve(){var c = NList;var (n, m, x, y, z) = (c[0], c[1], c[2], c[3], c[4]);var a = NList;var goodcnt = 0;var goodover = 0;var list = new List<int>();foreach (var ai in a){if (ai >= x){++goodcnt;goodover += ai - z;}else if (ai > y){list.Add(ai);}}if (goodcnt > m){WriteLine("Handicapped");return;}var dp = new long[m + 1][];for (var i = 0; i < dp.Length; ++i) dp[i] = new long[5001];dp[goodcnt][goodover + 2500] = 1;foreach (var li in list){for (var i = m - 1; i >= 0; --i) for (var j = 0; j < 5001; ++j){var nj = j + li - z;if (nj < 0 || nj >= 5001) continue;dp[i + 1][nj] = dp[i + 1][nj] + dp[i][j];}}var ans = 0L;for (var i = 1; i <= m; ++i){ans += dp[i][2500];}WriteLine(ans);}}