hdu - 6276,2018CCPC湖南全国邀请赛A题,水题,二分

Posted hzuCode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu - 6276,2018CCPC湖南全国邀请赛A题,水题,二分相关的知识,希望对你有一定的参考价值。

题意: 求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题,水题,二分的主要内容,如果未能解决你的问题,请参考以下文章

hdu - 6277,2018CCPC湖南全国邀请赛B题,找规律,贪心找最优.

CCPC2018-湖南全国邀请赛

[Training]CCPC2018-湖南全国邀请赛

CCPC2018-湖南全国邀请赛 G String Transformation

2021CCPC湘潭全国邀请赛题解

2021CCPC湘潭全国邀请赛题解