Submission #94428

#TimeUsernameProblemLanguageResultExecution timeMemory
94428choikiwonJoyful KMP (KRIII5_JK)C++17
2 / 7
58 ms6472 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int mod = 1e9 + 7; const int MN = 1000010; string S; ll K; int pi[MN]; int main() { std::ios::sync_with_stdio(false); cin >> S >> K; int ans = 26; for(int i = 1, j = 0; i < S.size(); i++) { vector<int> chk(26, 0); int cnt = 0; while(j && S[i] != S[j]) { if(!chk[ S[j] - 'a' ]) { chk[ S[j] - 'a' ] = 1; cnt++; } j = pi[j - 1]; } if(S[i] == S[j]) { pi[i] = ++j; } else { if(!chk[ S[0] - 'a' ]) cnt++; ans = 1LL * ans * (26 - cnt) % mod; } } cout << ans << endl; }

Compilation message (stderr)

JK.cpp: In function 'int main()':
JK.cpp:19:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 1, j = 0; i < S.size(); i++) {
                           ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...