結果

問題 No.2846 Birthday Cake
ユーザー hiro1729hiro1729
提出日時 2024-08-23 23:01:26
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 47 ms / 2,000 ms
コード長 574 bytes
コンパイル時間 2,914 ms
コンパイル使用メモリ 251,964 KB
実行使用メモリ 14,592 KB
最終ジャッジ日時 2024-08-23 23:01:31
合計ジャッジ時間 4,871 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
	int K, N;
	cin >> K >> N;
	vector<vector<ll>> dp(K + 1, vector<ll>(55441));
	dp[0][0] = 1;
	vector<int> A;
	for (int i = 1; i <= N; i++) {
		if (i != 13 && i != 17 && i != 19 && i != 23) {
			A.push_back(55440 / i);
		}
	}
	for (int i = 0; i < K; i++) {
		for (int j = 0; j <= 55440; j++) {
			for (int k: A) {
				if (j + k <= 55440) {
					dp[i + 1][j + k] += dp[i][j];
				}
			}
		}
	}
	ll ans = dp[K][55440];
	if (K == 13 || K == 17 || K == 19 || K == 23) ans++;
	cout << ans << '\n';
}
0