Pagini recente » Cod sursa (job #1989978) | Cod sursa (job #589103) | Cod sursa (job #781783) | Cod sursa (job #2519712) | Cod sursa (job #635401)
Cod sursa(job #635401)
#include <fstream>
#include <cstring>
#define NMAX 550
#define in "palm.in"
#define out "palm.out"
using namespace std;
char sir[NMAX],lg;
int maxim = 0;
ifstream fin(in);
ofstream fout(out);
inline int isPal(int i,int j,int ans)
{
while(i >= 0 && j < lg && sir[i] <= sir[i + 1] && sir[j] <= sir[j - 1] && sir[i] == sir[j])
ans += 2, i--, j++;
return ans;
}
int main()
{
fin.get(sir,NMAX,'\n');
fin.get();
int i = 0,val,poz;
lg = strlen(sir);
for(i = 1; i < lg; i++)
{
if(sir[i-1] == sir[i])
{
val = isPal(i-2,i+1,2);
if(val > maxim)
maxim = val,poz = i;
}
if(sir[i] == sir[i+1])
{
val = isPal(i-1,i+2,2);
if(val > maxim)
maxim = val,poz = i;
}
val = isPal(i-1,i+1,1);
if (val > maxim)
maxim = val,poz = i;
}
if(maxim == 1)
fout<<0;
else
fout<<maxim<<'\n';
fin.close();
fout.close();
return 0;
}