Pagini recente » Cod sursa (job #34074) | Rating Cristi Spiru (spiru28) | Cod sursa (job #1862056) | Cod sursa (job #1641940) | Cod sursa (job #1733335)
#include <cstdio>
#include <algorithm>
using namespace std;
#define NMAX 5005
int v[ NMAX ];
int copie[ NMAX ];
int sub[ NMAX ];
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
int n, m, i, j, s, t, d, k, ma;
scanf("%d",&n);
for( i = 1; i <= n; ++i ){
scanf("%d",&v[ i ]);
copie[ i ] = v[ i ];
}
sort( v + 1, v + 1 + n );
m = 0 ;
sub[ 0 ] = -1;
for( i = 1; i <= n; ++i ){
if( v[ i ] != sub[ m ] ) sub[ ++m ] = v[ i ];
v[ i ] = copie[ i ];
}
ma = -1;
for( i = 1; i <= n; ++i ){
if( v[ i ] != sub[ 1 ] ) continue;
t = 1;
for( j = i; j <= n && t <= m; ++j ){
if( v[ j ] == sub[ t ] ) t++;
if( t > m && j - i + 1 > ma ){
ma = j - i + 1;
printf("%d | %d %d ",ma,i,j);
}
}
}
printf("%d",ma);
return 0;
}