Submission #65074728
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
using namespace std;
using namespace atcoder;
using ll = long long;
using mint = modint1000000007;
int main(){
int K; cin >> K;
string S; cin >> S;
int mod = 1000000007;
int N = S.size(), M = N + K + 10;
vector<mint> fact(M), inv(M), rfact(M);
inv[0] = inv[1] = 1;
for(int i = 2; i < M; ++i){
inv[i] = -inv[mod % i] * (mod / i);
}
fact[0] = rfact[0] = fact[1] = rfact[1] = 1;
for(int i = 2; i < M; ++i){
fact[i] = fact[i - 1] * i;
rfact[i] = rfact[i - 1] * inv[i];
}
auto Combination = [&](int n, int r) -> mint {
if(r < 0 or r > n) return 0;
return fact[n] * rfact[r] * rfact[n - r];
};
auto Homogeneous = [&](int n, int r) -> mint {
if(n < 0 or r < 0) return 0;
return r == 0 ? 1 : Combination(n + r - 1, r);
};
mint ans = 0, x = mint(25).pow(K), y = 1;
for(int i = 0; i <= K; ++i, x /= 25, y *= 26){
ans += Homogeneous(N, K - i) * x * y;
}
cout << ans.val() << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Strivore |
| User | lX57 |
| Language | C++ 20 (gcc 12.2) |
| Score | 600 |
| Code Size | 1104 Byte |
| Status | AC |
| Exec Time | 143 ms |
| Memory | 27676 KiB |
Judge Result
| Set Name | Sample | Subtask1 | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| Subtask1 | sample_01.txt, sample_02.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 4 ms | 3396 KiB |
| sample_02.txt | AC | 5 ms | 3732 KiB |
| sub1_01.txt | AC | 143 ms | 27668 KiB |
| sub1_02.txt | AC | 142 ms | 27620 KiB |
| sub1_03.txt | AC | 143 ms | 27676 KiB |
| sub1_04.txt | AC | 143 ms | 27624 KiB |
| sub1_05.txt | AC | 5 ms | 5404 KiB |
| sub1_06.txt | AC | 18 ms | 12056 KiB |
| sub1_07.txt | AC | 21 ms | 13680 KiB |
| sub1_08.txt | AC | 27 ms | 16056 KiB |
| sub1_09.txt | AC | 26 ms | 16012 KiB |
| sub1_10.txt | AC | 26 ms | 16004 KiB |
| sub1_11.txt | AC | 75 ms | 10504 KiB |
| sub1_12.txt | AC | 45 ms | 7556 KiB |
| sub1_13.txt | AC | 117 ms | 14828 KiB |
| sub1_14.txt | AC | 23 ms | 7396 KiB |
| sub1_15.txt | AC | 6 ms | 4184 KiB |
| sub1_16.txt | AC | 3 ms | 3668 KiB |
| sub1_17.txt | AC | 1 ms | 3524 KiB |
| sub1_18.txt | AC | 1 ms | 3400 KiB |
| sub1_19.txt | AC | 1 ms | 3508 KiB |
| sub1_20.txt | AC | 92 ms | 17860 KiB |
| sub1_21.txt | AC | 68 ms | 14228 KiB |
| sub1_22.txt | AC | 98 ms | 19484 KiB |
| sub1_23.txt | AC | 51 ms | 11852 KiB |
| sub1_24.txt | AC | 127 ms | 20356 KiB |
| sub1_25.txt | AC | 91 ms | 15548 KiB |
| sub1_26.txt | AC | 32 ms | 10504 KiB |
| sub1_27.txt | AC | 71 ms | 17860 KiB |
| sub1_28.txt | AC | 43 ms | 7632 KiB |