Pagini recente » Istoria paginii utilizator/orosvladimir | Cod sursa (job #1799367) | Cod sursa (job #1621898) | Cod sursa (job #1294914) | Cod sursa (job #335061)
Cod sursa(job #335061)
#include <stdio.h>
#include <string.h>
#define Nmax 1001000
char c[Nmax],rez,next=1,lung=1,n;
int max(int a,int b)
{
if(a>b)
return a;
return b;
}
int main()
{
freopen("password.in","r",stdin);
freopen("password.out","w",stdout);
gets(c);
n=strlen(c);
while( (next<n) && ((rez+lung+1)<n) )
{
if(c[(rez+lung)%n]==c[(next+lung)%n]) ++lung;
else
if(c[(rez+lung)%n]<c[(next+lung)%n])
{
next+=lung+1;
lung=0;
}
else
{
rez=max(rez+lung+1,next);
next=rez+1;
lung=0;
}
}
printf("%d",rez);
return 0;
}