Pagini recente » Cod sursa (job #1620326) | Cod sursa (job #808023) | Cod sursa (job #783055) | Cod sursa (job #425132) | Cod sursa (job #635604)
Cod sursa(job #635604)
#include<fstream>
using namespace std;
char s[520];
int n,A[520],lgmax;
void Citire()
{
int i;
ifstream fin("palm.in");
fin>>s;
fin.close();
n=strlen(s);
for(i=0;i<n;i++)
A[i+1]=s[i]-'a'+1;
}
void Rezolvare()
{
int i,st,dr,lg;
for(i=1;i<=n;i++)
{
// I
st=dr=i;
while(st>1 && dr<n && A[st]>=A[st-1] && A[dr]>=A[dr+1] && A[st-1]==A[dr+1])
{
st--;
dr++;
}
lg=dr-st+1;
lgmax=max(lg,lgmax);
// II
if(i<n && A[i]==A[i+1])
{
st=i;
dr=i+1;
while(st>1 && dr<n && A[st]>=A[st-1] && A[dr]>=A[dr+1] && A[st-1]==A[dr+1])
{
st--;
dr++;
}
lg=dr-st+1;
lgmax=max(lg,lgmax);
}
}
}
void Afisare()
{
ofstream fout("palm.out");
fout<<lgmax<<"\n";
fout.close();
}
int main()
{
Citire();
Rezolvare();
Afisare();
return 0;
}