Cod sursa(job #1893085)
Utilizator | Tivadar Ionut codebreaker24 | Data | 25 februarie 2017 14:36:21 |
---|---|---|---|
Problema | Range minimum query | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
#define NMAX 100000
using namespace std;
ifstream fin("rmq.in");
ofstream fout("rmq.out");
int N, M;
int a[NMAX] = {0};
int getMin(int minX, int maxX)
{
int i;
for(i=minX; i<=maxX; i++)
if(a[i]!=0)
return i;
}
int main()
{
int N, M;
int i;
int x;
int minX, maxX;
fin >> N >> M;
for(i=1; i<=N; i++)
{
fin >> x;
a[x]++;
}
for(i=1; i<=M; i++)
{
fin >> minX >> maxX;
fout << getMin(minX,maxX) << '\n';
}
}