結果

問題 No.269 見栄っ張りの募金活動
ユーザー matsukin1111
提出日時 2019-06-07 13:25:59
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 2,021 ms
コード長 1,203 Byte
コンパイル時間 670 ms
使用メモリ 9,308 KB
最終ジャッジ日時 2019-07-07 17:40:49

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_challenge01.txt AC 2 ms
5,052 KB
sample1.txt AC 2 ms
5,056 KB
sample2.txt AC 7 ms
5,052 KB
sample3.txt AC 33 ms
5,052 KB
system_test1.txt AC 1,640 ms
5,052 KB
testcase01.txt AC 4 ms
5,056 KB
testcase02.txt AC 4 ms
5,052 KB
testcase03.txt AC 2,021 ms
9,308 KB
testcase04.txt AC 3 ms
5,056 KB
testcase05.txt AC 380 ms
5,232 KB
testcase06.txt AC 4 ms
5,056 KB
testcase07.txt AC 1,022 ms
5,056 KB
testcase08.txt AC 280 ms
5,056 KB
testcase09.txt AC 318 ms
5,052 KB
testcase10.txt AC 366 ms
5,056 KB
testcase11.txt AC 463 ms
5,052 KB
testcase12.txt AC 433 ms
5,052 KB
testcase13.txt AC 31 ms
5,056 KB
testcase14.txt AC 1,382 ms
6,508 KB
testcase15.txt AC 331 ms
5,052 KB
testcase16.txt AC 118 ms
5,056 KB
testcase17.txt AC 385 ms
5,056 KB
testcase18.txt AC 109 ms
5,056 KB
testcase19.txt AC 10 ms
5,052 KB
testcase20.txt AC 257 ms
5,052 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<iostream>
#include<cstdio>
#include<cstring>
#include <cstdlib>  
#include <math.h>
#include <cmath>
#include<cctype>
#include<string>
#include<set>
#include<iomanip>
#include <map>
#include<algorithm>
#include <functional>
#include<vector>
#include<climits>
#include<stack>
#include<queue>
#include<bitset>
#include <deque>
#include <climits>
#include <typeinfo>
#include <utility> 
using namespace std;
using ll = long long;
using R = double;
using Data = pair < ll, vector <ll>>;
const ll MOD = 1e9 + 7;
const ll inf = 1LL << 60;
struct edge { ll from; ll to; ll cost; };
typedef tuple<ll, ll, ll>T;
typedef pair<ll, ll>pll;
#define all(x) (x).begin(),(x).end()
#define rep(i,m,n) for(ll i = m;i < n;++i)
#define pb push_back
#define fore(i,a) for(auto &i:a)
#define rrep(i,m,n) for(ll i = m;i >= n;--i)
#define INF INT_MAX/2

int N, S, K;
int dp[110][20202];
int main(){
	cin >> N >> S >> K;
	dp[0][0] = 1;
	rep(i, 0, N - 1)rep(j,0,S+1){
		for (int l = K; j+l*(i + 1) <= S; l++) {
			dp[i+1][j+(i+1)*l] += dp[i][j];
			dp[i+1][j+(i+1)*l] %= MOD;
		}
	}
	ll ans = 0;
	for (int a1 = 0; N*a1 <= S; a1++) {
		ans += dp[N-1][S-N*a1];
		ans %= MOD;
	}
	cout << ans % MOD << endl;

	return 0;
}

0