Cod sursa(job #177219)
| Utilizator | Data | 12 aprilie 2008 14:17:25 | |
|---|---|---|---|
| Problema | Range minimum query | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include<stdio.h>
int v[100000];
int main()
{long n,m,i,x,y,j,min;
FILE*f=fopen("rmq.in","r");
FILE*g=fopen("rmq.out","w");
fscanf(f,"%ld %ld",&n,&m);
for(i=1;i<=n;i++)
fscanf(f,"%ld",&v[i]);
for(i=1;i<=m;i++)
{fscanf(f,"%ld %ld",&x,&y);
min=v[x];
for(j=x+1;j<=y;j++)
if(v[j]<min) min=v[j];
fprintf(g,"%ld\n",min);}
fcloseall();
return 0;
}
