Pagini recente » Cod sursa (job #416653) | Cod sursa (job #1195191) | Cod sursa (job #1740374) | Cod sursa (job #1830821) | Cod sursa (job #254424)
Cod sursa(job #254424)
#include<stdio.h>
#include<values.h>
long p,max,j,sum,st,dr,n,m,i,a[2500],sst[2500],sdr[2500];
int main()
{
freopen("cuburi2.in","r",stdin);
freopen("cuburi2.out","w",stdout);
scanf("%ld%ld",&n,&m);
scanf("%ld%ld",&a[1],&a[2]);
sst[1]=0;
sst[2]=a[1];
sum=a[1]+a[2];
for(i=3;i<=n;++i)
{
scanf("%ld",&a[i]);
sst[i]=sst[i-1]+sum;
sum+=a[i];
}
sdr[n]=0;
sdr[n-1]=a[n];
sum=a[n]+a[n-1];
for(i=n-2;i>=1;--i)
{
sdr[i]=sdr[i+1]+sum;
sum+=a[i];
}
for(i=1;i<=m;++i)
{
scanf("%ld%ld",&st,&dr);
sum=sst[st]+sdr[dr];
max=sst[st]+sdr[st]-sum;
for(j=st;j<=dr;++j)
if(sst[j]+sdr[j]-sum<=max) { max=sst[j]+sdr[j]-sum; p=j;}
printf("%ld %ld\n",p,max);
}
return 0;
}