Pagini recente » Cod sursa (job #2468185) | Cod sursa (job #747529) | Cod sursa (job #595604) | Cod sursa (job #810235) | Cod sursa (job #254672)
Cod sursa(job #254672)
#include<stdio.h>
long n,m,i,x,y,k,poz,min,s1,s2,a[250000],sp[250000],s;//long long de 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(k=1;k<=m;++k)
{scanf("%ld%ld",&x,&y);
if(x>y){s1=x;x=y;y=s1;}
s1=0;
s2=0;
s=0;
min=20000000000000000ll;//20000000000000000ll
sp[x-1]=0;
for(i=x;i<=y;++i)
{sp[i]=sp[i-1]+a[i];
s+=a[i];
s2+=a[i]*(i-x);}
poz=0;
if(s1+s2<min){min=s1+s2;poz=x;}
for(i=x;i<y;++i)
{s1+=sp[i];
s2-=(s-sp[i]);
if(s1+s2<min){min=s1+s2;poz=i+1;}
}
printf("%ld %ld\n",poz,min);
}
return 0;
}