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