(每日一练c++)报数游戏
报数游戏
题目描述
报数游戏 首先,会给他们一人一个编号,并且每个人的编号都不相同。接下来的每一回合,会给一个数,编号超过它的最小编号的人要报出自己的编号。如果没有人的编号比给出的数要大,那么编号最大的人要报出自己的编号。每个人可以重复报号。 会按照一个列表顺次报出每个回合的数,朋友们想知道每回合报出的编号应该是多少。 输入
输入数据共 3 行。 第一行有两个整数 n,m(1≤n≤100,000,1≤m≤100,000),分别表示参与游戏的朋友的个数,和游戏的回合数。 第二行 n个整数 ai(1≤ai≤100,000,000),表示朋友们每个人的编号。对于 0≤i<j<n,都有 ai<aj,即他们的编号递增排列。 第三行 m 个整数 qi(1≤qi≤100,000,000),表示每回合给的数字。 输出
输出共一行 m 个整数,表示每回合报出的编号,每两个整数之间一个空格,最后一个数后面没有空格。
以下程序实现了这一功能:
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
int ai[100010], qi[100010];
int main()
{int a, q;while (cin >> a >> q){for (int i = 0; i < a; i++)cin >> ai[i];for (int i = 0; i < q; i++)cin >> qi[i];for (int i = 0; i < q; i++){int left = 0, right = a - 1, mid;while (left < right){mid = (left + right) >> 1;if (ai[mid] <= qi[i])left = mid + 1;elseright = mid;}if (left - 1 < 0 || ai[left] < qi[i])left++;i ? cout << " " << ai[left - 1] : cout << ai[left - 1];}cout << endl;}return 0;
}
(每日一练c++)报数游戏相关推荐
- PyGame每日一练——五子棋小游戏
前言 PyGame 是一个专门设计来进行游戏开发设计的 Python 模块,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚,使用起来非常的简单,非常适合新手拿来玩耍,本教程源码均基于 ...
- Python每日一练(20230510) 石子游戏 VII\VIII\IX
目录 1. 石子游戏 Stone Game VII 2. 石子游戏 Stone Game VIII 3. 石子游戏 Stone Game IX
- shell脚本每日一练(二)
shell脚本每日一练 一.练习题 1.提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码.如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果已经存在用户,则提示用户已存在;如果用户不 ...
- IT冷知识--每日一练
目录 一.IT冷知识--每日一练 战火中的程序员 讽刺的名字 爱,死亡和机器人 浏览器的新时代 C++ 的类型是什么? <纸牌屋>是谁制作的? 盖茨的游戏梦 第一次冒险 铭记一生的悲剧 蠕 ...
- 每日一练 | 20道常考Python面试题大总结
每日一练 如果要对数据分析面试题进行归纳总结,基本可以分为三大类,分别是技术题.逻辑思维题.业务场景题. 本栏目旨在为小伙伴们分享常考/经典的数据分析面试题,大家在学习之余也可以进行自测,巩固学习成果 ...
- 【软考备战·希赛网每日一练】2023年4月14日
文章目录 一.今日成绩 二.错题总结 第一题 第二题 第三题 第四题 三.知识查缺 题目及解析来源:2023年04月14日软件设计师每日一练 一.今日成绩 二.错题总结 第一题 解析: 具有 最优子结 ...
- Python每日一练0023
问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os > ...
- WindowsAPI每日一练(2) 使用应用程序句柄
WindowsAPI每日一练系列 :https://www.cnblogs.com/LexMoon/category/1246238.htmlWindowsAPI每日一练(1) WinMain Win ...
- python题目关于企业利润_【每日一练】巧用python实现利润计算
原标题:[每日一练]巧用python实现利润计算 相信很多小伙伴都遇到过阶梯利率的问题,比如说银行的利息计算,不同阶段的本金有不同的利率:税务的税费计算,不同的营收有不同的缴纳率:个人的提成,不同的销 ...
最新文章
- Attention Mechanism
- f5 会话保持 负载均衡_四层负载均衡和七层负载均衡区别在哪里?
- 源码安装mysql数据库_Linux下源码安装mysql数据库
- java comparable接口_浅谈程序接口
- 【Presto】http-worker-103	com.facebook.presto.execution.SqlTaskManager	Switching coordinator affinity
- MySQL 取得两个时间相差的分钟数 及 常用时间函数
- Mozart Update 1(杯具额…)
- Spring Security 学习之X.509认证
- 怎样批量修改图片格式
- cannot open shared object file
- ValueError: multiclass format is not supported
- 联合几位大佬给大家送110本技术书籍!包邮到家!!
- 大数据小项目之电视收视率企业项目05
- 低成本5W无线充电器方案FS68001B简便充电芯片
- 设计模式初探(五)——二三模式一锅煮
- android 工具 Draw 9-patch 详解
- 关于type_C接口
- win10系统英雄联盟老是重新连接服务器,更新win10系统后lol进不去游戏怎么回事 win10lol重新连接进不去怎么办...
- 如何将多个excel表格合并成一个_如何将多个PDF文档合并为一个
- HTML部分基础语法