Submission #19797

#TimeUsernameProblemLanguageResultExecution timeMemory
19797rhdmstjr괄호 (kriii4_R)C++98
0 / 100
4 ms8896 KiB
#include <cstdio> #define MAX_NUM 1000004 #define XXX 1000000007 long long dp[MAX_NUM]; int main(){ int N, K; scanf("%d%d", &N, &K); // init dp[0] = 1; // for duplicated one dp[1] = K; for(int i = 2; i <= N; i++){ long long &now = dp[i]; long long &pre = dp[i - 1]; now = 0; // odd if(i & 1){ }else{ now += dp[i / 2]; } now %= XXX; now += pre * K * 2; //// subtract overlaped part long long dup = dp[i - 2] * K * K; dup %= XXX; now += (XXX - dup); now %= XXX; } printf("%lld\n", dp[N]); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...