1. 程式人生 > >hdu - 6276,2018CCPC湖南全國邀請賽A題,水題,二分

hdu - 6276,2018CCPC湖南全國邀請賽A題,水題,二分

sum 題意 論文 cto 最大 最大值 nbsp span class

題意: 求H的最大值, H是指存在H篇論文,這H篇被引用的次數都大於等於H次.

思路:題意得, 最多只有N遍論文,所以H的最大值為N,

常識得知H的最小值為0.

所以H的答案在[0,N]之間,二分搜一下,如果滿足就提高下限,不滿足則降低上限.

嗯就這樣!!!!

AC code:

#include<bits/stdc++.h>
using namespace std;
    int n;
      vector<int> cc(200005);
int main()
{
    bool check(int t);
    while(scanf("%d",&n)!=EOF)
    {
    
for(int i=0;i<=n;i++) cin>>cc[i]; int minn=0; int maxx=n; int ans=0; while(minn<=maxx) { int mid=(maxx-minn)/2+minn; if(check(mid)) { minn=mid+1; ans=mid; } else maxx=mid-1; } cout<<ans<<endl;}
return 0; } bool check(int t) { long long sum=0; for(int i=t;i<=n;i++) sum+=cc[i]; if(sum>=t) return true; else return false; }

hdu - 6276,2018CCPC湖南全國邀請賽A題,水題,二分