#include #include #include #include #include #include #include #include #include using namespace std; const int MAXN = 1000100; // 10^6 const int inf = 1000000100; int n; int A[ MAXN ]; int Zadnje[ MAXN ]; int main( void ) { int T = 1; for( int counter = 0; counter < T; ++counter ) { scanf( "%d", &n ); map< int, int > last; for( int i = 0; i < n; ++i ) { scanf( "%d", A + i ); if( last.count( A[i] ) ) Zadnje[i] = last[ A[i] ]; else Zadnje[i] = -inf; last[ A[i] ] = i; } int pocetak = 0; int maks = 0; for( int i = 0; i < n; ++i ) { if( Zadnje[i] >= pocetak ) pocetak = Zadnje[i] + 1; if( i-pocetak+1 >= maks ) maks = i-pocetak+1; } printf( "%d\n", maks ); } return (0-0); }