Pagini recente » Cod sursa (job #2603982) | Cod sursa (job #779583) | Cod sursa (job #747229) | Cod sursa (job #2531262) | Cod sursa (job #588823)
Cod sursa(job #588823)
#include<stdio.h>
using namespace std;
FILE *f,*g;
long long c[100001][100001],i,j,n,m,a[100001],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;
}