Pagini recente » Cod sursa (job #2928581) | Cod sursa (job #617265) | Cod sursa (job #9559) | Cod sursa (job #1393568) | Cod sursa (job #2208319)
#include <cstdio>
using namespace std;
int v[30001];
int main()
{
freopen ("br.in", "r", stdin);
freopen ("br.out", "w", stdout);
int n, i, t, nr, k, x, st, dr, m;
scanf("%d %d", &n, &t);
for (i=1; i<=n; i++){
scanf("%d", &nr);
v[i]=v[i]+v[i-1]+nr;
v[n+1]=nr;
}
for (i=1; i<=n; i++)
v[n+i]=v[n+i]+ v[n+i-1];
for (i=1; i<=t; i++){
scanf("%d %d", &k &x);
st=0;
dr=n;
while (st<=dr)
{
m=(st+dr)/2;
if (v[k+m-1]-v[k-1]>x)
dr=m-1;
else{
st=m+1;
nr=m;
}
}
printf("%d", nr);
printf("\n")
}
return 0;
}