Pagini recente » Cod sursa (job #2812603) | Cod sursa (job #298186) | Cod sursa (job #2391262) | Cod sursa (job #2588036) | Cod sursa (job #254722)
Cod sursa(job #254722)
#include<stdio.h>
long n,m,i,x,y,k,poz,a[250000];
long min,s1,s2,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=2000000000;//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;
}