Cod sursa(job #1842744)
Utilizator | Marin Vasile Peptenaru MarinPeptenaru | Data | 7 ianuarie 2017 15:26:28 |
---|---|---|---|
Problema | Range minimum query | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rmq.in");
ofstream g("rmq.out");
int v[100003],n,m,i,x,y;
int mnm (int v[], int s, int d )
{
if(s==d) return v[s];
else
{
int m=(s+d)/2;
int m1=mnm(v,s,m);
int m2=mnm(v,m+1,d);
if(m1<m2) return m1;
return m2;
}
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=m;i++)
{
f>>x>>y;
g<<mnm(v,x,y)<<'\n';
}
return 0;
}