Pagini recente » Cod sursa (job #2793862) | Cod sursa (job #1613389) | Cod sursa (job #1821222) | Cod sursa (job #573563) | Cod sursa (job #639023)
Cod sursa(job #639023)
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
const int N = 505;
int n;
char s[N];
int GetPalm(int lf, int rt)
{
if (lf != rt)
return 1;
while (s[lf-1] < s[lf] && lf > 1 && rt < n && s[lf-1] == s[rt+1])
--lf, ++rt;
return (rt - lf + 1);
}
int SolveA()
{
int rez = 0;
for (int i = 1; i <= n; ++i)
{
int x = GetPalm(i, i);
if (x > rez)
rez = x;
}
return rez;
}
int SolveB()
{
int rez = 0;
for (int i = 1; i < n; ++i)
{
int x = GetPalm(i, i + 1);
if (x > rez)
rez = x;
}
return rez;
}
int main()
{
freopen("palm.in", "r", stdin);
freopen("palm.out", "w", stdout);
gets(s+1);
n = strlen(s+1);
int a, b;
a = SolveA();
b = SolveB();
printf("%d\n", (a>b ? a:b));
return 0;
}