Pagini recente » Cod sursa (job #1187475) | Cod sursa (job #2395106) | Cod sursa (job #2129132) | Cod sursa (job #1013939) | Cod sursa (job #636578)
Cod sursa(job #636578)
#include <stdio.h>
#include <string.h>
#define LMAX 1 << 9
int D[LMAX], first[LMAX], x[LMAX];
char s[LMAX];
int main ()
{
int N, i, j, it;
freopen ("palm.in", "r", stdin);
freopen ("palm.out", "w", stdout);
gets (s + 1);
N = strlen (s + 1);
for (i = 1; i <= N; i ++)
x[i] = s[i] - 'a';
for (i = 1; i <= N; i ++)
{
for (j = 1; j <= i; j ++)
if (x[j] == x[i])
break;
for (it = j + 1; it < i; it ++)
if (x[it] >= x[i] && (first[it] > j || first[it] == 0))
if (D[it] > D[i])
D[i] = D[it];
if (i == j)
D[i] ++;
else
D[i] += 2;
first[i] = j;
}
int ma = 0;
for (i = 1; i <= N; i ++)
if (D[i] > ma)
ma = D[i];
printf ("%d", ma);
return 0;
}