Pagini recente » Cod sursa (job #3126322) | Cod sursa (job #2434267) | Cod sursa (job #2118387) | Cod sursa (job #1777738) | Cod sursa (job #254383)
Cod sursa(job #254383)
#include<stdio.h>
int N,M,A[250001],L,R;
long long M1,M2,S1,S2;
int main()
{
freopen("cuburi2.in","r",stdin);
freopen("cuburi2.out","w",stdout);
scanf("%d%d",&N,&M);
for (int i=1;i<=N;++i)
scanf("%d",&A[i]);
for (int i=1;i<=M;++i)
{
scanf("%d%d",&L,&R);
M1=0;M2=0;S1=A[L];S2=A[R];
while(L<R)
if ((M1+S1)==(M2+S2)) {++L;--R;M1+=S1;M2+=S2;S1+=A[L];S2+=A[R];}
else if ((M1+S1)<(M2+S2)) {++L;M1+=S1;S1+=A[L];}
else {--R;M2+=S2;S2+=A[R];}
printf("%d %lld\n",L,M1+M2);
}
return 0;
}