[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;
}


相关文章
【Leetcode -766.托普利茨矩阵 -771.宝石与石头】
【Leetcode -766.托普利茨矩阵 -771.宝石与石头】
58 0
|
3月前
lanqiaoOJ 211 剪格子
lanqiaoOJ 211 剪格子
18 3
|
8月前
|
Go C++ 算法
C/C++每日一练(20230404) 旋转排序数组最小值、石头剪刀布、三数之和
C/C++每日一练(20230404) 旋转排序数组最小值、石头剪刀布、三数之和
52 0
C/C++每日一练(20230404) 旋转排序数组最小值、石头剪刀布、三数之和
【剑指offer】-扑克牌顺子-44/67
【剑指offer】-扑克牌顺子-44/67
|
容器
剑指offer 69. 扑克牌的顺子
剑指offer 69. 扑克牌的顺子
102 0
|
机器学习/深度学习
剑指offer 13. 剪绳子
剑指offer 13. 剪绳子
79 0
洛谷P1162 填涂颜色——广搜
洛谷P1162 填涂颜色——广搜
83 0
|
程序员
线性表练习扑克牌游戏(炸金花)
线性表练习扑克牌游戏(炸金花)
182 0
线性表练习扑克牌游戏(炸金花)
|
开发工具
扑克牌问题
扑克牌问题
扑克牌问题