Pagini recente » Cod sursa (job #2420914) | Cod sursa (job #2916854) | Cod sursa (job #1336217) | Cod sursa (job #2239724) | Cod sursa (job #1710071)
#include <iostream>
#include <fstream>
#include<unordered_map>
#include<vector>
using namespace std;
int main()
{
ifstream in("pq.in");
ofstream out("pq.out");
long N,Q, L, R;
in>>N>>Q;
unordered_map<long, vector<bool>> container;
long v[N+1];
for(long i = 1 ; i<=N; ++i)
{
in>>v[i];
}
for( long i=1; i<=N; ++i )
{
for( long j = i; j<=N; ++j )
{
if( v[i] == v[j] )
{
container[i].push_back(1);
}
else
{
container[i].push_back(0);
}
}
}
while( Q-- != 0 )
{
in>>L>>R;
long cost = 0;
long index = L;
for( long i=L; i<=R; ++i )
{
if( container[L][i] == container[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;
}