在一个上升序列中,查找刚刚小于给定值k的元素。如样例1:2 5 6 8 9 中刚刚比7小的数是6(数据保证存在)
第一行包含一个整数n,为上升序列长度。1 ≤ n ≤ 100000。
第二行包含n个整数,为上升序各元素。所有元素的大小均在0-1,000,000,000之间。
第三行包含一个整数m,为要询问的次数。1 ≤ m ≤ 10000。
接下来m行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在0-1,000,000,000之间。
m行,每行一个整数,为刚刚小于给定值k的元素。
5 2 5 6 8 9 3 7 9 18
6 8 9
C++:
- #include
- using namespace std;
- int n,m,a[100005],k;
- int bs(int low,int high,int k){
- while(low<=high){
- int mid=(low+high)/2;
- if(a[mid]==k)return a[mid-1];
- else if(a[mid]
1; - else if(a[mid]>k)high=mid-1;
- }
- return a[high];
- }
- int main(){
- cin>>n;
- for(int i=1;i<=n;i++)cin>>a[i];
- cin>>m;
- for(int i=1;i<=m;i++){
- cin>>k;
- if(k==a[n])
- cout<-1]<
- else if(k>a[n])
-
-
相关阅读:
【广州华锐互动】VR虚拟现实技术应用于新兵作战体验的优势
前端大屏可视化项目
数据仓库的主流分层架构
安卓掌读小说v1.5.8破解版免费分享
实现一个todoList可直接操作数据(上移、下移、置顶、置底)
“童”趣迎国庆 安全“童”行-柿铺梁坡社区开展迎国庆活动
vue实现换一批业务【WoodenFish完整版】
SpringMVC(1)
连续六个季度实现盈利改善,达达集团内外双重确定性凸显
【C++】泛型编程 ③ ( 函数模板 与 普通函数 调用规则 | 类型匹配 | 显式指定函数模板泛型类型 )
-
原文地址:https://blog.csdn.net/yangrenrui/article/details/133911686