結果

問題 No.269 見栄っ張りの募金活動
ユーザー nasadigitalnasadigital
提出日時 2015-08-21 23:44:36
言語 C++11
(gcc 11.4.0)
結果
TLE  
実行時間 -
コード長 552 bytes
コンパイル時間 1,368 ms
コンパイル使用メモリ 143,072 KB
実行使用メモリ 15,668 KB
最終ジャッジ日時 2023-09-25 15:37:00
合計ジャッジ時間 13,596 ms
ジャッジサーバーID
(参考情報)
judge12 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 6 ms
11,340 KB
testcase_01 AC 6 ms
11,248 KB
testcase_02 AC 5 ms
11,224 KB
testcase_03 AC 24 ms
11,224 KB
testcase_04 AC 4,190 ms
11,284 KB
testcase_05 AC 6 ms
11,292 KB
testcase_06 AC 6 ms
11,292 KB
testcase_07 TLE -
testcase_08 AC 6 ms
11,524 KB
testcase_09 AC 24 ms
11,240 KB
testcase_10 AC 5 ms
11,512 KB
testcase_11 AC 1,925 ms
11,564 KB
testcase_12 AC 11 ms
11,528 KB
testcase_13 AC 821 ms
11,520 KB
testcase_14 AC 546 ms
11,568 KB
testcase_15 AC 1,158 ms
11,392 KB
testcase_16 AC 32 ms
11,392 KB
testcase_17 AC 5 ms
11,384 KB
testcase_18 AC 1,441 ms
11,344 KB
testcase_19 AC 797 ms
11,392 KB
testcase_20 AC 509 ms
11,240 KB
testcase_21 AC 935 ms
11,244 KB
testcase_22 AC 287 ms
11,244 KB
testcase_23 AC 13 ms
11,516 KB
testcase_24 AC 707 ms
11,332 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define MOD 1000000007
using namespace std;

int n,s,k;
int dp[101][20001];

int rek(int cur,int sc,int sk){
    if(cur==n && sc==0)
        return 1;
    if(cur==n)
        return 0;
    if(sc<0)
        return 0;
    if(dp[cur][sc]==-1){
        int r=0;
        for(int ctr1=sk;sc-(n-cur)*ctr1>=0;ctr1++){
            r=(r+rek(cur+1,sc-(n-cur)*ctr1,k))%MOD;
        }
        dp[cur][sc]=r;
    }
    return dp[cur][sc];
}


int main()
{
    memset(dp,-1,sizeof(dp));
    cin>>n>>s>>k;
    cout<<rek(0,s,0);
    return 0;
}
0