zoukankan      html  css  js  c++  java
  • K

    题目链接:

    K - Video Reviews

     Gym - 101755K 

    题目大意:

    一家公司想让个人给他们的产品评论,所以依次去找这个人,第i个人会评论当且仅当已经有个人评论或他确实对这个产品感兴趣,但是这个人都不对这个产品感兴趣,问这个公司至少要说服几个人对该产品该兴趣才能至少收到个人的评论.

    具体思路:二分最小值,当当前的人发现满足的人数不够的时候,就通过二分的最小值给补上就可以了。

    AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 # define ll long long
     4 # define inf 0x3f3f3f3f
     5 const int maxn = 2e5+100;
     6 ll a[maxn];
     7 ll n,m;
     8 bool check(ll k)
     9 {
    10     ll ans=0;
    11     for(ll i=1; i<=n; i++)
    12     {
    13         if(a[i]<=ans)
    14             ans++;
    15         else if(k)
    16         {
    17             ans++;
    18             k--;
    19         }`
    20         if(ans==m)
    21             return true;
    22     }
    23     return false;
    24 }
    25 int main()
    26 {
    27     scanf("%lld %lld",&n,&m);
    28     for(ll i=1; i<=n; i++)
    29     {
    30         scanf("%lld",&a[i]);
    31     }
    32 //sort(a+1,a+n+1);
    33     ll ans=0;
    34     ll l=0,r=9e18;
    35 //cout<<check(1)<<endl;
    36     while(l<=r)
    37     {
    38         ll mid=(l+r)>>1ll;
    39         if(check(mid))
    40         {
    41             ans=mid;
    42             r=mid-1;
    43         }
    44         else
    45             l=mid+1;
    46     }
    47     printf("%lld
    ",ans);
    48     return 0;
    49 }
  • 相关阅读:
    Kafka基础
    操作系统实验(一)-Shell编程
    计算机组成原理05-系统总线(下)
    计算机组成原理04-系统总线
    计算机组成原理03-概论思考
    计算机组成原理02-系统概论(下)
    计算机组成原理01-系统概论
    Python&&Pip
    我的爱情观
    node.js简介
  • 原文地址:https://www.cnblogs.com/letlifestop/p/10662485.html
Copyright © 2011-2022 走看看