This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#include <set>
#include <string>
#include <map>
#include <math.h>
#include <cmath>
#include <climits>
#include <unordered_map>
#include <unordered_set>
#include <assert.h>
#include <fstream>
#include <bitset>
#include <iomanip>
typedef long long ll;
typedef unsigned long long int ull;
using namespace std;
int MOD = (int)1e9+7;
int MAXN = 1e6;
//classes
//global
string s;
int n;
unordered_map<string, ll> Map;
void sol(int left, int right){
string temp = "";
while(left >= 0 && right < n){
if(s[left] != s[right]) return;
if(left == right) temp += s[left];
else temp = s[left] + temp + s[right];
Map[temp]++;
left--;
right++;
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
//ifstream fin("teamwork.in");
//ofstream fout("teamwork.out");
//stop
cin >> s;
n = s.length();
for(int i = 0; i < n; i++){
sol(i, i);
sol(i, i+1);
}
ll ans = 0;
for(auto& i: Map){
ans = max(ans, (ll)(i.second * i.first.length()));
}
cout << ans << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |