Pagini recente » Cod sursa (job #3221553) | Cod sursa (job #1925345) | Cod sursa (job #2152000) | Cod sursa (job #667170) | Cod sursa (job #254472)
Cod sursa(job #254472)
#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];}
}
if (M1==M2) printf("%d %lld\n",L,M1);
else printf("%d %lld\n",L,M1+M2);
}
return 0;
}