Pagini recente » Cod sursa (job #2914011) | Cod sursa (job #254569)
Cod sursa(job #254569)
#include<stdio.h>
FILE *f=fopen("cuburi2.in","r"),
*g=fopen("cuburi2.out","w");
#define N_MAX 250006
int a[N_MAX],mod1[N_MAX],i,j,k,n,m,x,y,mod2[N_MAX],mod[N_MAX],max,maxp;
int main()
{ fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;++i) fscanf(f,"%d",&a[i]);
k=a[1];
for(i=2;i<=n;++i) {
mod1[i]=mod1[i-1]+k;
k+=a[i];
}
k=a[n];
for(i=n-1;i;--i){
mod2[i]=mod2[i+1]+k;
k+=a[i];
mod[i]=mod1[i]+mod2[i];
}
mod[n]=mod1[n];
for(i=1;i<=m;++i) { fscanf(f,"%d %d",&x,&y);
max=1000000000;
for(j=x;j<=y;++j) if(mod[j]<max) max=mod[j],maxp=j;
fprintf(g,"%d %d\n",maxp,mod[maxp]-mod2[y]-mod1[x]);
}
fclose(f);
fclose(g);
return 0;
}