[CQOI 2010]扑克牌

简介: [CQOI 2010]扑克牌

题目: [CQOI 2010]扑克牌 ,哈哈,我们今天来看一道二分答案的题嘛,这是选自CQOI上的一道题,好了,我们一起来看看题意吧:

考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!

题目传送门: [CQOI2010]扑克牌

思路:

直接二分答案,假设答案是x,那么差的joker数量必须要小于等于m,然后根据题目要求,每套只能用1张joker,所以差的joker数量还要小于等于x,具体的我们直接看代码!

我们来看看成功AC的代码吧:

#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
typedef long long ll;
int n,m;
const int N=60;
int a[N];
ll cnt;
int check(int x){
    cnt=0;
    for(int i=1;i<=n;i++)
        if(a[i]<x) cnt+=x-a[i];
    return cnt<=min(m,x);
}
int main(){
    ios::sync_with_stdio(false);
    cin>>n>>m;
    for(int i=1;i<=n;i++) cin>>a[i];
    ll l=0,r=inf;
    while(l<r){//二分模板
        ll mid = (l+r+1)>>1;
        if(check(mid)) l=mid;
        else r=mid-1;
    }
    cout<<l<<"\n";
    return 0;
}


相关文章
【剑指offer】-扑克牌顺子-44/67
【剑指offer】-扑克牌顺子-44/67
|
算法
趣味算法-神奇的兔子数列
趣味算法-神奇的兔子数列
|
算法 定位技术 C++
【兔年之兔子走迷宫】 用一个小游戏对回溯法进行实现 | C++
简单的来说,算法就是用计算机程序代码来实现数学思想的一种方法。学习算法就是为了了解它们在计算机中如何演算,以及在当今的信息时代,它们是如何在各个层面上影响我们的日常生活的,从而提高我们的逻辑思维能力和处理实际问题的能力。善用算法、巧用算法,是培养程序设计逻辑的重中之重,许多实际的问题都可用多个可行的算法来解决, 但是要从中找出最优的解决算法却是一项挑战。
558 6
【兔年之兔子走迷宫】 用一个小游戏对回溯法进行实现 | C++
图解LeetCode——面试题61. 扑克牌中的顺子
图解LeetCode——面试题61. 扑克牌中的顺子
124 1
|
容器
剑指offer 69. 扑克牌的顺子
剑指offer 69. 扑克牌的顺子
93 0
蓝桥杯:二分法求分巧克力
蓝桥杯:二分法求分巧克力
66 0
|
开发工具
扑克牌问题
扑克牌问题
扑克牌问题
|
算法
【刷算法】扑克牌顺子
【刷算法】扑克牌顺子
兔子生兔子之递归问题(递归实现斐波那契数列)
兔子生兔子之递归问题(递归实现斐波那契数列)
211 0
兔子生兔子之递归问题(递归实现斐波那契数列)