Pagini recente » Cod sursa (job #2576015) | Cod sursa (job #601177) | Cod sursa (job #1954981) | Cod sursa (job #619662) | Cod sursa (job #254607)
Cod sursa(job #254607)
#include<stdio.h>
#include<values.h>
long p,min,j,sum,st,dr,n,m,i,a[250000],sst[250000],sdr[250000];
int main()
{
freopen("cuburi2.in","r",stdin);
freopen("cuburi2.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(i=1;i<=n;++i)
scanf("%ld",&a[i]);
for(i=1;i<=m;++i)
{
scanf("%ld%ld",&st,&dr);
sum=a[st];
sst[st]=0;
for(j=st+1;j<=dr;++j)
{
sst[j]=sst[j-1]+sum;
sum+=a[j];
}
sum=a[dr];
sdr[dr]=0;
for(j=dr-1;j>=st;--j)
{
sdr[j]=sdr[j+1]+sum;
sum+=a[j];
}
min=MAXLONG;
for(j=st;j<=dr;++j)
if(sst[j]+sdr[j]<min) {min=sst[j]+sdr[j]; p=j;}
printf("%ld %ld\n",p,min);
}
return 0;
}