結果
| 問題 |
No.269 見栄っ張りの募金活動
|
| コンテスト | |
| ユーザー |
startcpp
|
| 提出日時 | 2015-08-22 12:57:52 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 9 ms / 5,000 ms |
| コード長 | 435 bytes |
| コンパイル時間 | 418 ms |
| コンパイル使用メモリ | 54,700 KB |
| 実行使用メモリ | 18,920 KB |
| 最終ジャッジ日時 | 2024-07-16 01:33:48 |
| 合計ジャッジ時間 | 1,179 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 22 |
ソースコード
#include<iostream>
using namespace std;
int n, s, k;
long long f[101][20001];
long long F(int N, int M) {
if (N < 0 || M < 0)
return 0;
return f[N][M];
}
int main() {
cin >> n >> s >> k;
s -= k * n * (n - 1)/2;
f[0][0] = 1;
for( int N = 1; N <= n; N++ ){ //残り項数
for( int M = 0; M <= s; M++ ){ //残り値
f[N][M] = F(N, M-N) + F(N-1, M);
f[N][M] %= 1000000007;
}
}
cout << F(n, s) << endl;
return 0;
}
startcpp