CCCherry

导航

0319补题

C - Candies

二分答案

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cmath>
 4 using namespace std;
 5 long long a,sum=1;
 6 long long find(long long n,long long f)
 7 {
 8     long long d=0;
 9     while(n>10)
10     {
11             
12         n-=f;
13         if(n>=10) 
14             n=n-n/10;
15         d++;
16     }
17     long long s=f*d+n; 
18     if(s*2>=a) 
19     {
20         sum=f;
21            return 1;
22     }
23     else return 0;
24       
25 }
26 int main()
27 {
28     cin>>a;
29     long long l=1;
30     long long r=a/2,k;    
31     while(l<=r)
32     {
33          k=(l+r)/2;
34          long long t=find(a,k);
35          if(t==1)
36          {
37              r=k-1;
38          }
39         else  l=k+1;
40     }
41     cout<<sum;
42     
43 
44 }

 

posted on 2020-03-21 10:26  CCCherry  阅读(110)  评论(0编辑  收藏  举报