Pagini recente » Cod sursa (job #22228) | Cod sursa (job #69805) | Cod sursa (job #544432) | Cod sursa (job #676117) | Cod sursa (job #1709786)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("pq.in");
ofstream out("pq.out");
int N,Q, L, R;
in>>N>>Q;
int m[N][N];
int v[N+1];
for(int i = 1 ; i<=N; ++i)
{
in>>v[i];
}
for( int i=1; i<=N; ++i )
{
for( int j = i; j<=N; ++j )
{
if( v[i] == v[j] )
{
m[i][j] = 1;
}
else
{
m[i][j] = 0;
}
}
}
while( Q-- != 0 )
{
in>>L>>R;
int cost = 0;
int index = L;
for( int i=L; i<=R; ++i )
{
if( m[L][i] == m[L][index] )
{
if( cost < (i - index) )
{
cost = (i - index);
}
index = i;
}
}
if(cost == 0)
{
out<<-1<<endl;
}
else
{
out<< cost<<endl;
}
}
in.close();
out.close();
return 0;
}