提出 #486530


ソースコード 拡げる

#include <iostream>
#include <vector>
using namespace std;
int main(){
	int N,K;
	cin >> N >> K;
	vector<vector<long long> > dp(N,vector<long long>(K,0));//dp[i][j]=i+1駅にj連続で止まる
	dp[0][1]=1;
	for(int i=0;i<N-1;i++)
		for(int j=0;j<K;j++){
			if(j+1<K){
				dp[i+1][j+1]+=dp[i][j];
				dp[i+1][j+1]%=1000000007;
			}
			dp[i+1][0]+=dp[i][j];
			dp[i+1][0]%=1000000007;
		}
	long long answer=0;
	for(int i=1;i<K;i++){
		answer+=dp[N-1][i];
		answer%=1000000007;
	}
	cout << answer << endl;
	return 0;
}

提出情報

提出日時
問題 F - 準急
ユーザ base64go
言語 C++ (G++ 4.6.4)
得点 0
コード長 540 Byte
結果 MLE
実行時間 2183 ms
メモリ 1048576 KiB

ジャッジ結果

セット名 All
得点 / 配点 0 / 4
結果
AC × 4
TLE × 1
MLE × 2
セット名 テストケース
All 00, 01, 02, 03, 04, 90, 91
ケース名 結果 実行時間 メモリ
00 AC 221 ms 55456 KiB
01 TLE 2183 ms 941956 KiB
02 MLE 1859 ms 1048576 KiB
03 MLE 1927 ms 1048576 KiB
04 AC 749 ms 181880 KiB
90 AC 49 ms 1400 KiB
91 AC 47 ms 1396 KiB