Cod sursa(job #389000)

Utilizator dany123Florea Daniel dany123 Data 31 ianuarie 2010 16:56:57
Problema Range minimum query Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
using namespace std;

ifstream fin ("rmq.in");
ofstream fout ("rmq.out");

int n,m,a,b,min1;

int main () {
	fin>>n>>m;
	int *v= new int [n];
	for (int i2=1;i2<=n;i2++)
		fin>>v[i2];
	
	for (int i=1;i<=m;i++){
		fin>>a>>b;
		min1=v[a];
		if (v[a]==1) fout<<"1\n";
			else {
				for (int j=a;j<=b;j++)
					if (v[j]==1) {fout<<"1\n"; j=b+1;}
						else if (v[j]<min1) min1=v[j];
				fout<<min1<<'\n';
			}
	}
	delete[] v;
	return 0;
}