Cod sursa(job #457408)
Utilizator | Retzler Rainer rainer13 | Data | 19 mai 2010 16:35:49 |
---|---|---|---|
Problema | Range minimum query | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
int v[100001];
int divide(int a, int b)
{int m=(a+b)/2;
if(b-a<=1)
return min(v[a],v[b]);
else return min(divide(a,m),divide(m+1,b));}
int main()
{ifstream f("rmq.in");
ofstream g("rmq.out");
int n,m,i,x,y;
f>>n>>m;
for(i=1;i<=n;++i)
f>>v[i];
for(i=1;i<=m;++i)
{f>>x>>y;
g<<divide(x,y)<<"\n";
}
f.close();
g.close();
system("pause");
return 0;
}