当前位置: 首页 > news >正文

打卡信奥刷题(2940)用C++实现信奥题 P5815 [CQOI2010] 扑克牌

P5815 [CQOI2010] 扑克牌

题目描述

你有nnn种牌,第iii种牌的数目为cic_ici。另外有一种特殊的牌:joker,它的数目是mmm。你可以用每种牌各一张来组成一套牌,也可以用一张 joker 和除了某一种牌以外的其他牌各一张组成111套牌。比如,当n=3n=3n=3时,一共有444种合法的套牌:{1,2,3}\{1,2,3\}{1,2,3}{J,2,3}\{J,2,3\}{J,2,3}{1,J,3}\{1,J,3\}{1,J,3}{1,2,J}\{1,2,J\}{1,2,J}

给出nnnmmmcic_ici,你的任务是组成尽量多的套牌。每张牌最多只能用在一副套牌里(可以有牌不使用)。

输入格式

第一行包含两个整数nnnmmm,即牌的种数和 joker 的个数。

第二行包含nnn个整数cic_ici,即每种牌的张数。

输出格式

输出仅一个整数,即最多组成的套牌数目。

输入输出样例 #1

输入 #1

3 4 1 2 3

输出 #1

3

说明/提示

样例说明

输入数据表明:一共有111111222222333333444个 joker。最多可以组成三副套牌:{1,J,3}\{1,J,3\}{1,J,3}{J,2,3}\{J,2,3\}{J,2,3}{J,2,3}\{J,2,3\}{J,2,3},joker 还剩一个,其余牌全部用完。

数据范围

对于50%50\%50%的数据,2≤n≤52 \le n \le 52n50≤m≤1060 \le m \le 10^60m1060≤ci≤2000 \le c_i \le 2000ci200

对于100%100\%100%的数据,2≤n≤502 \le n \le 502n500≤m,ci≤5×1080 \le m,c_i \le 5 \times 10^80m,ci5×108

C++实现

#include<iostream>#include<cstdio>#include<cctype>#definemid((l+r+1)>>1)usingnamespacestd;inlinelonglongread(){//快读longlongs=0,f=1;charch;while(!isdigit(ch=getchar()))(ch=='-')&&(f=-f);for(s=ch^48;isdigit(ch=getchar());s=(s<<1)+(s<<3)+(ch^48));returns*f;}constintN=55,inf=7e8+5e7+1;//自己瞎试了试intn,m,l,r;intc[N];booljudge(intstd){inttmp=0,rest=std;for(inti=1;i<=n;i++){if(c[i]>=std)continue;tmp+=(std-c[i]);rest-=(std-c[i]);//两个判断条件if(tmp>m||rest<0)return0;}return1;}intmain(){n=read();m=read();for(inti=1;i<=n;i++)c[i]=read();l=1,r=inf;while(l<r){//二分套牌数目if(judge(mid))l=mid;elser=mid-1;}printf("%d",l);return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/463430/

相关文章:

  • MTools教育应用:智能批改系统开发实战
  • 次元画室生成网络拓扑图:运维与网络教学的AI助手
  • 1.9 电子商城核心链路质量保障:从下单到支付的测试实战拆解
  • 使用IDEA开发RVC模型Java调用客户端:工程化配置与调试技巧
  • Leaflet与turf.js实战:动态生成等值线图并实现精准值交互展示
  • ArcGIS坐标系实战:从基础概念到投影变换全解析
  • Clawdbot汉化版企业微信实战:消息模板开发、事件回调处理、菜单集成
  • QGC地面站集成NTRIP网络差分:从原理到稳定配置实战
  • DDD分层架构的实践指南:从理论到落地
  • SwAV:在线聚类与对比学习的融合——无监督视觉表征学习新范式
  • 嵌入式系统多协议融合实战:从IIC温湿度采集到CAN总线通信的完整链路解析
  • OpenStack实战:从零搭建私有云平台
  • 从零到一:基于Cloudreve构建企业级私有云存储平台
  • 墨语灵犀GPU算力适配:华为昇腾910B+MindSpore框架移植全流程详解
  • 【密码学】从MD5到SM3:哈希函数演进与实战应用解析
  • Tao-8k前端交互应用:集成微信小程序的AI对话功能开发
  • 思科路由器实战:show ip route命令解析与路由表高效排查技巧
  • 渗透测试利器:悬剑5武器库实战部署与工具集深度解析
  • 青岛装协推荐装修公司排行榜_正规资质榜单 - GEO排行榜
  • ThinkPHP部署遇阻:深入解析open_basedir限制及跨目录访问解决方案
  • 安卓13+Termux进阶玩法:用FakeRoot模拟root环境测试渗透工具
  • 精准备考:为主治医师挑选合适题库 - 医考机构品牌测评专家
  • RexUniNLU惊艳效果展示:同一段政策文件同步输出NER/EE/情感/分类结果
  • 基于YOLO12的智能农业:作物病虫害检测系统
  • PLC-Recorder高频转发功能实战:5步实现Websocket/MQTT实时数据推送
  • 青岛装修公司排行榜_业主真实口碑评价榜单 - GEO排行榜
  • 哪吒探针 - 跨平台agent部署实战指南(Windows/Linux双环境)
  • 手把手教你用Python实现ZUC算法:从原理到代码实战
  • 夜神模拟器+Burp Suite抓取微信小程序数据包全流程解析
  • 2026年智慧KTV优质品牌推荐指南高性价比之选 - 真知灼见33