제출 #41622

#제출 시각아이디문제언어결과실행 시간메모리
41622funcsr회문 (APIO14_palindrome)C++14
0 / 100
1086 ms52468 KiB
#include <iostream> #include <vector> #include <string> #include <algorithm> #include <cassert> #include <map> using namespace std; #define int long long typedef pair<int, int> P; #define rep(i, n) for (int i=0; i<(n); i++) #define all(x) x.begin(), x.end() #define uniq(x) x.erase(unique(all(x)), x.end()) #define index(x, y) (int)(lower_bound(all(x), y) - x.begin()) #define _1 first #define _2 second #define pb push_back #define MOD1 1000000007 #define MOD2 1000000009 const int B1 = 123; const int B2 = 321; string S; int N; map<P, int> C[300001]; signed main() { cin >> S; N = S.length(); rep(l, N) { int h1 = 0, h2 = 0; for (int r=l; r<N; r++) { h1 = (B1*h1+S[r]) % MOD1; h2 = (B2*h2+S[r]) % MOD2; C[r-l+1][P(h1, h2)]++; } } long long m = 0; for (int len=1; len<=N; len++) { for (auto p : C[len]) { m = max(m, 1LL*len*p._2); } } cout << m << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...