码迷,mamicode.com
首页 > 其他好文 > 详细

POJ3258 River Hopscotch

时间:2016-08-13 18:09:31      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

  地址

  别人的代码,自己边界总是控制不好,还不知道哪里错了!思维!这种问题代码越简洁反而越不容易错吧。。

技术分享
 1     #include<stdio.h>  
 2     #include<algorithm>  
 3     typedef long long ll;  
 4     using namespace std;  
 5     ll n,m,L,a[100010];  
 6     bool bi(ll x){  
 7         ll i,cnt=0,now=0;  
 8         for(i=1;i<=n;i++){  
 9             if(a[i]-a[now]<=x)cnt++;  
10             else    now=i;  
11         }  
12         if(L-a[now]<x)return 0;  
13         return cnt<=m;  
14     }  
15     int main(){  
16         ll i,l,r,mi;  
17         while(~scanf("%lld%lld%lld",&L,&n,&m)){  
18             l=0;r=L;  
19             for(i=1;i<=n;i++)  
20                 scanf("%lld",&a[i]),  
21                 r+=a[i];  
22             sort(a,a+n+1);  
23             while(l<r){  
24                 mi=l+r>>1;  
25                 if(bi(mi))l=mi+1;  
26                 else      r=mi;  
27             }  
28             printf("%lld\n",r);  
29         }  
30         return 0;  
31     }  
View Code

 

POJ3258 River Hopscotch

标签:

原文地址:http://www.cnblogs.com/zhaoyu1995/p/5768323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!