01:查找最接近的元素
来源:互联网 发布:app mac下载失败 编辑:程序博客网 时间:2024/06/18 10:34
原题链接
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
在一个非降序列中,查找与给定值最接近的元素。
- 输入
- 第一行包含一个整数n,为非降序列长度。1 <= n <= 100000。
第二行包含n个整数,为非降序列各元素。所有元素的大小均在0-1,000,000,000之间。
第三行包含一个整数m,为要询问的给定值个数。1 <= m <= 10000。
接下来m行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在0-1,000,000,000之间。 - 输出
- m行,每行一个整数,为最接近相应给定值的元素值,保持输入顺序。若有多个值满足条件,输出最小的一个。
- 样例输入
32 5 82105
- 样例输出
85
源码
#include <iostream>#include <cmath>using namespace std;int main(){ int n, m, i, x, y, mid, target; int a[100000]; // 非降序列 cin >> n; for (i=0; i<n; i++) cin >> a[i]; cin >> m; for (i=0; i<m; i++){ cin >> target; x = 0; y = n-1; while ((y-x) > 1){ mid = (y-x) / 2 + x; if (a[mid] == target){ x = y = mid; } else{ if (a[mid] > target) y = mid; else x = mid; } } if (x == y) cout << a[x] << endl; else { if ((target-a[x]) <= (a[y]-target)) cout << a[x] << endl; else cout << a[y] << endl; } }}
阅读全文
1 0
- 01:查找最接近的元素
- 查找最接近的元素
- 查找最接近的元素
- 查找最接近的元素
- OpenJudge_P7940 查找最接近的元素
- openjudge 01:查找最接近的元素 入门二分
- 1.11.1二分查找最接近的数
- 查找和目标数最接近的或者相等的数
- 1.2.9 数组中大小最接近的两个元素差
- 求无序序列每个元素最接近的值
- 元素之和最接近 0 的区间(部分和)
- 查找组成一个偶数最接近的两个素数
- HWOJ 查找组成一个偶数最接近的两个素数
- 查找组成一个偶数最接近的两个素数
- 【华为oj】查找组成一个偶数最接近的两个素数
- 查找组成一个偶数最接近的两个素数
- 华为OJ--查找组成一个偶数最接近的两个素数
- 查找组成一个偶数最接近的两个素数
- 使用Tensorflow实现多GPU并行训练
- CSS各种选择器 【一】
- eclipse中tomcat能正常启动,但是浏览器访问不了tomcat首页 问题解决
- Html笔记
- 浅谈Lambda表达式详解
- 01:查找最接近的元素
- Adding Action Buttons
- react-native run-ios 报错 No bundle url present
- 天天学Linux命令54--grep 命令
- LINUX目录结构
- Vue2.0路由篇之路由跳转的一个小问题
- LeetCode||57. Insert Interval
- 制作Visual Studio 2017 (VS 2017) 离线安装包
- jquery 闭包运用<$.extend 和 $.fn.extend >