题目描述
输入 nn 个不超过 10^9109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a_1,a_2,\dots,a_{n}a1,a2,…,an,然后进行 mm 次询问。对于每次询问,给出一个整数 qq,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 -1−1 。
输入格式
第一行 22 个整数 nn 和 mm,表示数字个数和询问次数。
第二行 nn 个整数,表示这些待查询的数字。
第三行 mm 个整数,表示询问这些数字的编号,从 11 开始编号。
输出格式
输出一行,mm 个整数,以空格隔开,表示答案。
(这道题是一个简单的二分)
看到这道题题肯定有人想打暴力.......(很显然这个人就是我,全部TLE,建议不要轻易写暴力)
不过咱们先上一下暴力代码:
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1000005];
int b[100005];
int main(){
scanf ("%d %d",&n,&m);
for (int i=1;i<=n;i++)