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

洛谷题解 - P2249 【深基13.例1】查找

目录

  • 题目描述
  • 输入格式
  • 输出格式
  • 样例 #1
    • 样例输入 #1
    • 样例输出 #1
  • 提示
  • 代码

题目描述

输入 n n n 个不超过 1 0 9 10^9 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_{n} a1,a2,,an,然后进行 m m m 次询问。对于每次询问,给出一个整数 q q q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 − 1 -1 1

输入格式

第一行 2 2 2 个整数 n n n m m m,表示数字个数和询问次数。

第二行 n n n 个整数,表示这些待查询的数字。

第三行 m m m 个整数,表示询问这些数字的编号,从 1 1 1 开始编号。

输出格式

输出一行, m m m 个整数,以空格隔开,表示答案。

样例 #1

样例输入 #1

11 3
1 3 3 3 5 7 9 11 13 15 15
1 3 6

样例输出 #1

1 2 -1

提示

数据保证, 1 ≤ n ≤ 1 0 6 1 \leq n \leq 10^6 1n106 0 ≤ a i , q ≤ 1 0 9 0 \leq a_i,q \leq 10^9 0ai,q109 1 ≤ m ≤ 1 0 5 1 \leq m \leq 10^5 1m105

本题输入输出量较大,请使用较快的 IO 方式。

代码

#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int findx(int x,int left,int right)
{if(left>right)return -1;int mid=left+(right-left)/2;if(a[mid]==x){if(a[mid-1]==x && mid!=1)return findx(x,left,mid-1);return mid;}if(a[mid]>x)return findx(x,left,mid-1);return findx(x,mid+1,right);
}
int main()
{int n,m;cin>>n>>m;for(int i=1; i<=n; i++){cin>>a[i];}int x;while(m--){cin>>x;cout<<findx(x,1,n)<<" ";}return 0;
}

相关文章:

  • 用crypto库的哈希函数CryptoPP::SHA256实现最简单的区块链20240101
  • 个人博客网站前端页面的实现
  • 鸿蒙实战开发:【分布式软总线组件】
  • 电源ATE自动测试系统为您提供一站式自动化测试解决方案
  • 有趣之matlab-烟花
  • Element-Plus: Select组件实现滚动分页加载
  • Python笔记|字符串的转义
  • 09-设计模式 企业场景 面试题
  • PTA L1-079 天梯赛的善良(C++)
  • MySQL一些命令记录
  • R在直方图上添加一个更平滑的密度曲线
  • PCM和I2S区别
  • 实现真正的高性能高并发的上亿级别秒杀系统!!!
  • 姿态旋转的哥氏定理以及速度微分的推导
  • 蓝桥杯---棋盘(典型的二维差分问题)
  • JavaScript 如何正确处理 Unicode 编码问题!
  • SegmentFault for Android 3.0 发布
  • 《Java编程思想》读书笔记-对象导论
  • Next.js之基础概念(二)
  • nfs客户端进程变D,延伸linux的lock
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • 分布式事物理论与实践
  • 关于Flux,Vuex,Redux的思考
  • 回流、重绘及其优化
  • 记一次删除Git记录中的大文件的过程
  • 技术胖1-4季视频复习— (看视频笔记)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 提醒我喝水chrome插件开发指南
  • 推荐一个React的管理后台框架
  • 物联网链路协议
  • 一份游戏开发学习路线
  • 智能网联汽车信息安全
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​插件化DPI在商用WIFI中的价值
  • (2)MFC+openGL单文档框架glFrame
  • (2)nginx 安装、启停
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)windows配置JDK环境
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)汇编语言——简单程序
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)插入排序
  • (轉貼) UML中文FAQ (OO) (UML)
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net wcf memory gates checking failed
  • .NET 设计一套高性能的弱事件机制
  • .Net6 Api Swagger配置
  • .netcore 获取appsettings
  • @angular/cli项目构建--http(2)
  • [ Linux Audio 篇 ] 音频开发入门基础知识