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


相关文章
|
17天前
|
算法 搜索推荐 数据可视化
【漫画算法】插入排序:插入宝石的传说
【漫画算法】插入排序:插入宝石的传说
【剑指offer】-扑克牌顺子-44/67
【剑指offer】-扑克牌顺子-44/67
|
8月前
|
机器学习/深度学习 算法 C++
剑指offer(C++)-JZ61:扑克牌顺子(算法-模拟)
剑指offer(C++)-JZ61:扑克牌顺子(算法-模拟)
|
容器
剑指offer 69. 扑克牌的顺子
剑指offer 69. 扑克牌的顺子
75 0
剑指offer_递归与循环---扑克牌顺子
剑指offer_递归与循环---扑克牌顺子
36 0
|
搜索推荐 算法
【排序算法 上】带你手撕常见排序 (插入,希尔,选择,堆排序) (动图详解)
【排序算法 上】带你手撕常见排序 (插入,希尔,选择,堆排序) (动图详解)
78 0
【排序算法 上】带你手撕常见排序 (插入,希尔,选择,堆排序) (动图详解)
利用顺序表实现扑克牌
利用顺序表实现扑克牌
88 0
利用顺序表实现扑克牌
|
程序员
线性表练习扑克牌游戏(炸金花)
线性表练习扑克牌游戏(炸金花)
114 0
线性表练习扑克牌游戏(炸金花)