Cod sursa(job #588821)

Utilizator geniucosOncescu Costin geniucos Data 9 mai 2011 18:33:33
Problema Range minimum query Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
using namespace std;
FILE *f,*g;
long long c[10001][10001],i,j,n,m,a[10001],x,y;
int main()
{
f=fopen("rmq.in","r");
g=fopen("rmq.out","w");
fscanf(f,"%ld",&n);
fscanf(f,"%ld",&m);
for(i=1;i<=n;i++)
	fscanf(f,"%ld",&a[i]);
/*for(i=1;i<=n;i++)
	fscanf(f,"%ld",&b[i]);*/
for(i=1;i<=n;i++)
	c[i][i]=a[i];
for(i=1;i<=n;i++)
	for(j=i+1;j<=n;j++)
		if(c[i][j]==0)
		{
			if(c[i][j-1]>a[j]) c[i][j]=a[j];
			else c[i][j]=c[i][j-1]; 			
		}
for(i=1;i<=m;i++)
{
	fscanf(f,"%ld",&x);
	fscanf(f,"%ld",&y);
	fprintf(g,"%ld",c[x][y]);
	fprintf(g,"\n");
}
fclose(f);
fclose(g);
return 0;
}