結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_challenge01.txt AC 3 ms
6,876 KB
sample1.txt AC 4 ms
7,088 KB
sample2.txt AC 7 ms
6,872 KB
sample3.txt AC 35 ms
6,872 KB
system_test1.txt AC 1,704 ms
6,872 KB
testcase01.txt AC 4 ms
6,876 KB
testcase02.txt AC 4 ms
6,872 KB
testcase03.txt AC 2,092 ms
9,324 KB
testcase04.txt AC 4 ms
7,088 KB
testcase05.txt AC 389 ms
6,876 KB
testcase06.txt AC 4 ms
6,872 KB
testcase07.txt AC 1,029 ms
6,876 KB
testcase08.txt AC 282 ms
6,872 KB
testcase09.txt AC 322 ms
6,872 KB
testcase10.txt AC 371 ms
6,872 KB
testcase11.txt AC 471 ms
6,876 KB
testcase12.txt AC 438 ms
6,876 KB
testcase13.txt AC 31 ms
6,872 KB
testcase14.txt AC 1,413 ms
6,872 KB
testcase15.txt AC 329 ms
6,872 KB
testcase16.txt AC 123 ms
6,872 KB
testcase17.txt AC 395 ms
6,872 KB
testcase18.txt AC 111 ms
6,872 KB
testcase19.txt AC 10 ms
6,872 KB
testcase20.txt AC 280 ms
6,876 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