結果

問題 No.1011 Infinite Stairs
コンテスト
ユーザー atcoderbeginner
提出日時 2020-03-31 22:12:08
言語 C++14
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=c++14 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
TLE  
実行時間 -
コード長 903 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 354 ms
コンパイル使用メモリ 77,700 KB
実行使用メモリ 59,232 KB
最終ジャッジ日時 2026-03-11 14:34:06
合計ジャッジ時間 22,809 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20 TLE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>
#include <iostream>
//#include <boost/multiprecision/cpp_int.hpp>
// #include <bootstrap.h>

using namespace std;
// namespace mp = boost::multiprecision;

// using Bint = mp::cpp_int;
// using Real = mp::number<mp::cpp_dec_float<1024>>;

int main(){
    int n , d , k ;
    cin >> n >> d >> k ;

    long long mod = 1000000000 + 7;

    long long dp[n+1][k+1] ;

    for(int i = 0 ; i < n+1 ; i++){
        for(int j = 0 ; j < k+1 ; j++){
            dp[i][j] = 0;
        }
    }

    dp[0][0] = 1;

    for(int i = 1 ; i<= n ; i++){
        for(int j = i-1 ; j < k ; j++){
            for(int l = 1 ; l <=d ; l++ ){
                if( j+l <= k){
                    dp[i][j+l] = (dp[i][j+l] + dp[i-1][j]) % mod ;
                }else{
                    break;
                }
            }
        }

    }

    cout << dp[n][k]  << endl;
    // cout << dp[n][k] << endl ;

}
0