您的位置:首页 > 其它

CF 474B Worms

2015-08-02 13:56 369 查看
二分查找

#include <iostream>
#include <cstdio>

using namespace std;
const int maxn = 1e5 + 100;
int len[maxn];
int up[maxn];
int n,m;
int bin_search(int x)
{
int l = 1,r = n;
if(x >= up[r])
return r;
else
{
int mid;
while(l <= r)
{
mid = (l+r)/2;
if(x > up[mid]) l = mid + 1;
else if(x < up[mid]) r = mid - 1;
else
return mid;
}
return l;
}
}
int main()
{
while(~scanf("%d",&n))
{
up[0] = 0;
for(int i = 1;i <= n;i ++)
{
scanf("%d",&len[i]);
up[i] = up[i-1] + len[i];
}
scanf("%d",&m);
int w;
for(int i = 0;i < m;i ++)
{
scanf("%d",&w);
printf("%d\n",bin_search(w));
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: