Submission #19716

#TimeUsernameProblemLanguageResultExecution timeMemory
19716sujin괄호 (kriii4_R)C++14
0 / 100
163 ms2268 KiB
#include <cstdio> #include <cstdlib> #define MOD 1000000007 long long pow(long long n, long long k) { if (k == 0) return 1; long long h = pow(n, k / 2); return h * h % MOD * ((k & 1) ? n : 1) % MOD; } long long mod_inverse(long long a) { return pow(a, MOD - 2); } int main() { int n, k; scanf("%d %d", &n, &k); long long *c = (long long *)calloc(n / 2 + 1, sizeof(long long)); c[0] = 1; for (int i = 1; i <= n / 2; i++) c[i] = mod_inverse(i + 1) * (4 * i - 2) % MOD * c[i - 1] % MOD; long long s = 0; for (int l = 0; l <= n; l += 2) s = (s + c[l / 2] * pow(k, l / 2) % MOD * pow(k, n - l) % MOD) % MOD; printf("%lld\n", s); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...