2019真题-分贝克
分贝壳
http://www.nowcoder.com/questionTerminal/9b59014cc1544aeeb4082f5f37ecfaea
#include<iostream> using namespace std; typedef long long ll; bool judge(ll m, ll n){ ll female = 0; ll male = 0; while(n>0){ ll tmp = min(m, n); female += tmp; n -= tmp; tmp = n/10; male += tmp; n = n-tmp; } return female>=male; } int main(){ ll n; cin>>n; ll left = 1, right = n/2+1; while(left<right){ ll mid = (right-left)/2+left; if(judge(mid, n)==true){ right = mid; }else{ left = mid+1; } } cout<<left<<endl; return 0; }