Pagini recente » Cod sursa (job #2929295) | Cod sursa (job #2774061) | Cod sursa (job #1563660) | Cod sursa (job #3205672) | Cod sursa (job #254336)
Cod sursa(job #254336)
#include<stdio.h>
#define N 250001
int t[N],s[N],n,m;
void cit()
{
scanf("%d%d",&n,&m);
s[0]=0;
for( int i=1 ; i<=n ; ++i )
{
scanf("%d",&t[i]);
s[i]=s[i-1]+t[i];
}
}
int p;
long long c;
void calc(int x,int y)
{
int i,st,sp=0;
c=0;
st = s [ y ] - s [ x - 1 ];
for( i=x ; i<=y && sp<=st/2 ; ++i )
{
sp+=t[i];
p=i;
}
for( i=x ; i<=y ; ++i )
if(i<p)
c+=(p-i)*t[i];
else if(i>p)
c+=(i-p)*t[i];
}
void afis()
{
int x,y;
for( int i=0 ; i<m ; ++i )
{
scanf("%d%d",&x,&y);
calc(x,y);
printf("%d %lld\n",p,c);
}
}
int main()
{
freopen("cuburi2.in","r",stdin);
freopen("cuburi2.out","w",stdout);
cit();
afis();
return 0;
}