B. Worms【1200 / 二分】

B. Worms【1200 / 二分】_第1张图片
https://codeforces.com/problemset/problem/474/B

#include
using namespace std;
typedef long long int LL;
const int N=1e5+10;
LL a[N],s[N],n,m;
int main(void)
{
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];
	cin>>m;
	while(m--)
	{
		LL x; cin>>x;
		int l=1,r=n;
		while(l<r)
		{
			int mid=l+r>>1;
			if(s[mid]>=x) r=mid;
			else l=mid+1;
		}
		cout<<l<<endl;
	}
	return 0;
}

你可能感兴趣的:(二分,1024程序员节)