Cod sursa(job #650424)

Utilizator jjalexanderIliescu Iulian Alex jjalexander Data 18 decembrie 2011 00:27:11
Problema Range minimum query Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>
int main(){
    long int a[2000][2000],i,j,k,st,sf,n,m;
	FILE* in=fopen("rmq.in","r");
	FILE* out=fopen("rmq.out","w");
    fscanf(in,"%ld ",&n);
    fscanf(in,"%ld ",&m);
    a[1][0]=0;
    for(i=1;i<=n;i++){
        fscanf(in,"%ld ",&a[1][i]);
        for(j=1;j<=i;j++){
            if(a[j][i-j+1]<a[j][i-j]) a[j+1][i-j]=a[j][i-j+1];
		    else a[j+1][i-j]=a[j][i-j];
        }
    }                
	for(k=1;k<=m;k++){
		fscanf(in,"%ld ",&st);
		fscanf(in,"%ld ",&sf);
		fprintf(out,"%ld\n",a[sf-st+1][st]);
	}     
	fscanf(in,"%ld ",&st);
	fscanf(in,"%ld ",&sf);
	fprintf(out,"%ld",a[sf-st+1][st]);
	fclose(in);
	fclose(out);
    return 0;
}