Pagini recente » Cod sursa (job #604214) | Cod sursa (job #2210198) | Cod sursa (job #2215747) | Cod sursa (job #173162) | Cod sursa (job #254983)
Cod sursa(job #254983)
#include <stdio.h>
#include <values.h>
#define DMax 250009
long v[DMax],n,m,i,a,b,mij,rez,front,back;
long long s[DMax];
int main()
{
freopen("cuburi2.in","r",stdin);
freopen("cuburi2.out","w",stdout);
scanf("%ld %ld\n",&n,&m);
for(i=1;i<=n;i++)scanf("%ld",&v[i]);
for(i=1;i<=n;i++)
s[i]=s[i-1]+v[i];
for(i=1;i<=m;i++)
{
scanf("%ld %ld\n",&a,&b);
front=a;
back=b;
rez=a;
while(front<=back)
{
mij=(front+back)/2;
if(s[mij-1]-s[a-1] < s[b]-s[mij-1])
{
rez=mij;
front=mij+1;
}
else back=mij-1;
}
printf("%ld\n",rez);
}
return 0;
}