Pagini recente » Cod sursa (job #547992) | Rating Emilian Stavarache (emiliancs) | Cod sursa (job #698207) | Cod sursa (job #2911330) | Cod sursa (job #3294562)
#include <bits/stdc++.h>
#define PERM_SIZE 26
using namespace std;
ifstream fin("rmq.in");
ofstream fout("rmq.out");
int rmq[200005][18];
int N, Q;
int query(int x, int y)
{
int lungime = y-x+1;
int p = 0;
while((1<<p) <= lungime){
p++;
}
p--;
return min(rmq[x][p],rmq[y-(1<<p)+1][p]);
}
int main()
{
fin >> N >> Q;
for (int i = 1; i <= N; i++)
{
fin >> rmq[i][0];
}
// for (int lungime = 1; (1 << lungime) <= N; lungime++)
// {
// for (int i = 1; i + (1 << (lungime - 1)) <= N; i++)
// {
// rmq[i][lungime] = min(rmq[i][lungime - 1], rmq[i + (1 << (lungime - 1))][lungime - 1]);
// }
// }
for (int i = 1; i <= Q; i++)
{
int x, y;
fin >> x >> y;
// fout<<query(x,y)<<'\n';
int mn = 1e9;
for(int j=x;j<=y;j++){
mn = min(mn,rmq[j][0]);
}
fout<<mn<<'\n';
}
}