问题链接:CCF NOI1115 找数



时间限制: 1000 ms  空间限制: 262144 KB

题目描述

给一个长度为n的单调增的正整数序列,即序列中每一个数都比前一个数大。有m个询问,每次询问一个x,问序列中最后一个小于等于x的数是什么?

输入

给一个长度为n的单调增的正整数序列,即序列中每一个数都比前一个数大。有m个询问,每次询问一个x,问序列中最后一个小于等于x的数是什么?

输出

  输出共m行,表示序列中最后一个小于等于x的数是多少。假如没有输出-1。

样例输入

5 3
1 2 3 4 6
5
1
3
样例输出

4

1

3

数据范围限制

1<=n,m<=100000,序列中的元素及x都不超过10^6。

提示



问题分析

这是一个查找问题,二分法是常用的。

输入的数是有序的,并且是从小到大。

程序说明

函数find()是一个典型的二分查找程序。

要点详解

  • 使用宏定义可以使得代码可阅读性增强。
  • 要根据输入数的值范围选用类型。
  • 从重用性角度考虑,编写C语言程序时应该尽量把一些功能封装到函数中。

参考链接:(略)。


100分通过的C语言程序:

#include <stdio.h>#define N 100000
int a[N];int find(int left, int right, int x)
{int mid;while(left <= right) {mid = (left + right) / 2;if(a[mid] == x)return a[mid];else if(a[mid] < x)left = mid + 1;else // if(a[mid] > xright = mid - 1;}return a[right];
}int main(void)
{int n, m, x, i;while(scanf("%d%d", &n, &m) != EOF) {a[0] = -1;for(i=1; i<=n; i++)scanf("%d", &a[i]);for(i=1; i<=m; i++) {scanf("%d", &x);printf("%d\n", find(1, n, x));}}return 0;
}

CCF NOI1115 找数相关推荐

  1. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  2. ccf Markdown

    说实话,这种题如果给我返回结果我是一定可以写出来的但是ccf不返回结果很烦,这种题我根本不能一次写对.还有重写时发现好多考试之前根本没注意到的点比如删掉空行 .......=_= #include&l ...

  3. I'm stuck! ccf模拟题。

    ccf模拟题. I'm stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S' ...

  4. 计算机协会成立活动简报,“中国计算机学会CCF走进高校”活动在我校举行

    校新闻中心讯 9月13日下午,由中国计算机学会(CCF)主办的"CCF走进河南科技大学"活动在工科二号楼610举行.副校长魏世忠教授出席活动并致辞.长江学者.国家杰出青年基金获得者 ...

  5. 绿盟科技与CCF成立“鲲鹏”科研基金 计划发力5大领域资助16个项目

    [51CTO.com原创稿件]2017年5月10日,由中国计算机学会(CCF)和北京神州绿盟信息安全科技股份有限公司(以下简称:绿盟科技)主办的2017 CCF-绿盟科技"鲲鹏"科 ...

  6. WC2018 CCF程序设计教学比赛记事

    WC2018   d5 教师比赛日  亦或者称之为以"递归"为主题的同课异构课程(25节课 有8节讲递归) 发现强省或者弱省中名校派出的选手还是非常优秀的,这种优秀,从他的教态.自 ...

  7. 徐韬:CCF - 个贷违约预测Baseline

    徐韬是华北电力大学数理系大四的学生,Datawhale成员/Dreamtech成员,参加了多期Datawhale的组队学习,也在天池/CCF/讯飞等比赛中取得了不错的成绩,现保送大连理工大学软件学院深 ...

  8. 赴约北大,2019 CCF大数据与计算智能大赛正式启动

    8月17日,以"数据驱动,智创未来"为主题的2019 CCF大数据与计算智能大赛(2019 CCF BDCI)全球启动仪式,在北京大学英杰交流中心·阳光厅正式启幕.自2013年创办 ...

  9. CCF推荐系统项目代码解读!

    Datawhale干货 作者:阿水,北京航空航天大学,Datawhale成员 本文以CCF大数据与计算智能大赛(CCF BDCI)图书推荐系统竞赛为实践背景,使用Paddle构建用户与图书的打分模型, ...

最新文章

  1. Android 动画的插值器 (Interpolator属性)
  2. SpringMVC中的 --- 异常处理
  3. swiper 定义放多少张图片_swiper轮播问题之二:默认显示3张图片,中间显示全部两边显示部分...
  4. Hadoop安装及eclipse配置
  5. 使用 ACE 库框架在 UNIX 中开发高性能并发应用
  6. win10中微软账户中文名称修改后本地用户文件夹仍为中文名
  7. win10水印烦死了_win10系统下word去水印的方法【图文】
  8. opencv1-加载、修改、保存图像
  9. 千兆交换机下面可以接多少层交换机_高清监控怎么选配交换机
  10. easyui下拉多选框的创建、获取值、赋值
  11. redux-saga源码解析
  12. 最新全国五级行政区划json文件下载链接 全国最新统计用区划代码和城乡划分代码使用指南
  13. 当不知轴承型号时如何寻找轴承故障频率_电机轴承的故障诊断与失效分析
  14. Codeforces 4D. Mysterious Present
  15. mysql workbench6.3.5_mysql workbench
  16. python网络爬虫之淘宝订单提取
  17. DirectX11海洋模拟实践
  18. TortoiseSVN文件夹及文件图标不显示解决方法
  19. 腾讯云服务器从购买到搭建tomcat
  20. python数据分析岗位_数据分析岗位招聘情况

热门文章

  1. linux终端 美化 git,linux终端美化oh-my-zsh
  2. linux 编写sh文件,linux编写shell脚本程序one官方
  3. 九、索引与执行计划、索引的分类
  4. SQL对某个字段分组并加序号
  5. flex接收java返回集合,前台的的flex对Java返回list类型的处理
  6. Linux下redis基本安装配置(CentOS7)
  7. abb机器人伺服电机报闸是什么_ABB机器人伺服电机维修更换马达步骤
  8. php数据库连接重试机制,SpringCloud重试机制配置详解
  9. git 查看自己的用户名和邮箱
  10. TensorFlow学习笔记(一)——入门资源整理