Submission #1243436
Source Code Expand
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include <iomanip> #include <unordered_map> #include <unordered_set> #include <map> #include <set> using namespace std; long long M=1000000007; int main(int argc, char const *argv[]) { long long n,k;cin>>n>>k; vector<long long> dp(n+1),dp0(n+1),dp1(n+1); dp[0]=0; // dp[1]=1; // dp[2]=(k!=2); // dp0[2]=1; for(int i=1;i<n+1;++i){ dp[i]=dp[i-1]+dp0[i-1]; if(i==1)dp[i]++; if(i==k)dp[i]--; dp[i]%=M; dp0[i]=dp0[i-1]+dp[i-1]; if(i-k>-1)dp0[i]-=dp[i-k]; // dp0[i]-=(i==k-1); dp0[i]%=M; // cout<<dp[i]<<endl; } // dp // for(int i=2;i<n+1;++i){ // dp1[i]=dp1[i-1]*2+dp[i-1]; // dp1[i]%=M; // if(i<k)dp[i]=0; // else if(i<=k+1)dp[i]=1; // else{ // dp[i]+=dp0[i-k+1]; // dp[i]+=dp[i-k-1]; // dp[i]+=dp1[i-k-1]; // } // dp[i]=dp0[i]-dp[i]; // dp[i]%=M; // dp[i]+=M; // dp[i]%=M; // } cout<<dp[n]<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - 準急 |
User | pillow97 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1073 Byte |
Status | WA |
Exec Time | 32 ms |
Memory | 23680 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 4 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 03, 04, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 32 ms | 23680 KB |
01 | AC | 32 ms | 23680 KB |
02 | WA | 16 ms | 10880 KB |
03 | WA | 12 ms | 7808 KB |
04 | AC | 30 ms | 21888 KB |
90 | AC | 1 ms | 256 KB |
91 | AC | 1 ms | 256 KB |