Cod sursa(job #1985209)
Utilizator | Sichet Paul sichetpaul | Data | 27 mai 2017 08:49:11 |
---|---|---|---|
Problema | PalM | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
#include <cstring>
using namespace std;
char v[501];
int pal(int st,int dr) {
while (st<dr) {
if (v[st]!=v[dr]) return 0;
++st;
--dr;
}
return 1;
}
int cresc(int st,int dr) {
int i,d=(dr+st)/2;
for (i=st+1;i<=d;++i)
if (v[i-1]>v[i]) return 0;
return 1;
}
int main()
{ int n,i,Max=0,j;
ifstream f("palm.in");
ofstream g("palm.out");
f.get(v,501);
n=strlen(v);
for (i=0;i<n;++i)
for (j=n-1;j>=i;--j)
if (pal(i,j) && cresc(i,j)) {
Max=max(Max,j-i+1);
break;
}
g<<Max;
return 0;
}