Cod sursa(job #625576)

Utilizator ContraPunctContrapunct ContraPunct Data 24 octombrie 2011 23:05:43
Problema Range minimum query Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<cstdio>
#define Nmax 100000

struct interval 
{
	int x;
	int y;
};

interval v[Nmax*10];
int n,k,a[Nmax];

void ReadData()
{
	int i;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<k;i++)
	{
		scanf("%d %d",&v[i].x,&v[i].y);
	}
}
void Sol()
{
	int i,j,min;
	for(i=0;i<k;i++)
	{
		min = Nmax;
		for(j=v[i].x-1;j<v[i].y;j++)
		{
			if(min > a[j]) 
				min = a[j];
		}
		printf("%d\n",min);
	}
}

int main()
{
	freopen("rmq.in","r",stdin);
	freopen("rmq.out","w",stdout);
	ReadData();
	Sol();
	return 0;
}