Pagini recente » Cod sursa (job #2298481) | Istoria paginii utilizator/gundorf | Cod sursa (job #211030) | Cod sursa (job #1583353) | Cod sursa (job #639040)
Cod sursa(job #639040)
#include<fstream>
#include<string.h>
using namespace std;
ifstream in("palm.in");
ofstream out("palm.out");
char a[503];
int n,smax;
void pal1(int poz) {
int i,lung=1;
for(i=poz-1;i!=0 && 2*poz-i<=n;--i)
if(a[i]==a[2*poz-i] && a[i]<=a[i+1])
lung+=2;
else
break;
if(lung>smax)
smax=lung;
}
void pal2(int poz) {
int i,lung=2;
if(a[poz]!=a[poz+1])
return;
for(i=poz-1;i!=0 && 2*poz-i+1<=n;--i)
if(a[i]==a[2*poz-i+1] && a[i]<=a[i+1])
lung+=2;
else
break;
if(lung>smax)
smax=lung;
}
int main() {
int i;
in.getline(a+1,501);
a[0]=90;
n=strlen(a);
for(i=1;i<=n;++i) {
pal1(i);
pal2(i);
}
out << smax;
return 0;
}