# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
246283 | vanic | Palinilap (COI16_palinilap) | C++14 | 283 ms | 2176 KiB |
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 <cstdio>
#include <math.h>
#include <algorithm>
using namespace std;
const int maxn=5005;
string s;
int jos[maxn][30];
int br;
void rijesi(int x, bool p1){
int l, d;
if(p1){
l=x;
d=x;
}
else{
l=x;
d=x+1;
}
bool p=1;
int l1, d1;
while(l>-1 && d<s.size()){
if(s[l]==s[d]){
if(p){
if(l!=d){
for(int i=0; i<26; i++){
jos[l][i]--;
jos[d][i]--;
}
}
br++;
}
else{
jos[l1][s[d1]-'a']++;
jos[d1][s[l1]-'a']++;
}
}
else{
if(p){
l1=l;
d1=d;
jos[l1][s[d1]-'a']++;
jos[d1][s[l1]-'a']++;
p=0;
}
else{
break;
}
}
l--;
d++;
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> s;
for(int i=0; i<s.size(); i++){
rijesi(i, 1);
rijesi(i, 0);
}
int maksi=0;
for(int i=0; i<s.size(); i++){
for(int j=0; j<26; j++){
maksi=max(maksi, jos[i][j]);
}
}
cout << br+maksi << '\n';
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |