Cod sursa(job #436710)
| Utilizator | Data | 8 aprilie 2010 20:49:37 | |
|---|---|---|---|
| Problema | Range minimum query | Scor | 30 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
/* Range Minimum Query */
#include <stdio.h>
#define DIM 100000
int v[DIM];
long int n, i, j, m;
int Min;
int x, y;
int main()
{
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,"%d", &v[i]);
for (i=1; i<=m; ++i)
{
fscanf (f,"%d %d", &x, &y);
Min = 1000001;
for (j=x; j<=y; ++j)
if (v[j] < Min)
Min = v[j];
fprintf (g,"%d\n", Min);
}
fclose(g);
fclose(f);
return 0;
}
