Round #6 C.Alice, Bob and Chocolate-二分
2017-04-07 19:59
357 查看
题目:http://codeforces.com/contest/6/problem/C
俩人在两边吃糖,速度一样,如果在同样时间到达,那么就让给左边的人吃。
问俩人吃到多少糖;
问了云铭大神,二分的结束条件不一样,那么他while的条件就不一样的,要保证它能够出去,在一个数被当做mid处理过之后,对他加1,减1,或者不变,都是一样的。
但是要保证它能够突破这个循环。
俩人在两边吃糖,速度一样,如果在同样时间到达,那么就让给左边的人吃。
问俩人吃到多少糖;
问了云铭大神,二分的结束条件不一样,那么他while的条件就不一样的,要保证它能够出去,在一个数被当做mid处理过之后,对他加1,减1,或者不变,都是一样的。
但是要保证它能够突破这个循环。
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> const int maxn=200005; using namespace std; int main() { int m; int a; int sum[maxn]; scanf("%d",&m); sum[0]=0; for(int i=1;i<=m;i++) { scanf("%d",&a); sum[i]=sum[i-1]+a; } int key=sum[m]/2; int l=1; int r=m; int ans=0; while(l<=r) { int mid=(l+r)/2; if(sum[mid]<=key) { l=mid+1; ans=mid; } else r=mid-1; } if(sum[ans]<=sum[m]-sum[ans+1]) //if(sum[l]<=sum[m]-sum[l+1]) ans++; printf("%d %d\n",ans,m-ans); //printf("%d\n",l); return 0; }
相关文章推荐
- Round #6 C.Alice, Bob and Chocolate
- codeforces 6C - Alice, Bob and Chocolate
- Codeforces Round #6——C. Alice, Bob and Chocolate(想法题)
- G - Alice, Bob and Chocolate
- 6C - Alice, Bob and Chocolate
- Alice, Bob and Chocolate CodeForces - 6C
- NEFU要崛起——第5场 C - Alice, Bob and Chocolate
- 【HDOJ 4268】 Alice and Bob (排序+二分)
- Alice, Bob and Chocolate
- HDUoj 4268 Alice and Bob ( STL二分贪心
- CF 6 C. Alice, Bob and Chocolate
- CF_6C_Alice,BobAndChocolate
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate
- codeforce 6C - Alice, Bob and Chocolate
- Alice, Bob and Chocolate
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate 水题
- codeforces 6C - Alice, Bob and Chocolate
- CodeForces 6C - Alice, Bob and Chocolate
- hdu 4268 Alice and Bob(贪心+multiset+二分)
- Mike and Chocolate Thieves(二分)