Submission #134906

#TimeUsernameProblemLanguageResultExecution timeMemory
134906wmrmrPalindromes (APIO14_palindrome)C++17
23 / 100
1078 ms3608 KiB
#include <bits/stdc++.h> using namespace std; long long int ans; map<string,int> m; map<string,int>::iterator mit; string s; void ImpInsert() { int tam = s.size(); for(int i=0;i<tam;i++) { string aux; int maxt = min( i+1, tam-i ); for(int j=0;j<maxt;j++) { if( s[i+j] != s[i-j] ) break; aux.push_back(s[i+j]); if(m.find(aux) == m.end()) m.insert({aux,1}); else m[aux]++; } } return; } void PairInsert() { int tam = s.size(); for(int i=1;i<tam;i++) { string aux; int maxt = min(i,tam-i); for(int j=0;j<maxt;j++) { if(s[i-1-j] != s[i+j]) break; aux.push_back(s[i+j]); if(m.find(aux) == m.end()) m.insert({aux,1}); else m[aux]++; } } return; } int main() { cin >> s; ImpInsert(); for(mit = m.begin();mit!=m.end();mit++) { int tam = (mit->first).size(), qtd = mit->second; ans = max( ans , (long long int) qtd*(2*tam-1) ); } m.clear(); PairInsert(); for(mit = m.begin();mit!=m.end();mit++) { int tam = (mit->first).size(), qtd = mit->second; ans = max( ans , (long long int) qtd*(2*tam) ); } printf("%lld",ans); }
#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...