Pagini recente » Cod sursa (job #2558522) | Cod sursa (job #1603273) | Cod sursa (job #2511401) | Cod sursa (job #997383) | Cod sursa (job #635607)
Cod sursa(job #635607)
#include<fstream>
#include<cstring>
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;
}