AP. 【入门】二分查找左侧边界

    传统题 1000ms 128MiB

【入门】二分查找左侧边界

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

请在一个有序不递减的数组中(数组中的值可能相等),采用二分查找,找到值 xx 第一次出现的位置。如果不存在 xx 请输出 1-1

本题要求处理 qq 个询问,对于每个询问的 xx,输出它在数组中第一次出现的位置。

例如:数组为 1,2,2,2,3,31, 2, 2, 2, 3, 3,询问三个数 3,2,53, 2, 5,它们第一次出现的位置分别是 5,2,15, 2, -1

输入格式

第一行包含一个整数 nn,表示数组元素个数。

第二行包含 nn 个整数,表示数组的 nn 个元素,整数之间用空格分隔。

第三行包含一个整数 qq,表示询问个数。

第四行包含 qq 个整数,表示要查找的数,整数之间用空格分隔。

输出格式

一行,包含 qq 个整数,按题意输出每个询问的数在数组中首次出现的位置,如果不存在则输出 1-1。整数之间用空格隔开。

样例

6
1 2 2 2 3 3
3
3 2 5
5 2 -1

数据范围与提示

  • 1n1051 \le n \le 10^5
  • 1q1051 \le q \le 10^5
  • 数组元素和待查找的值均满足 1x1081 \le x \le 10^8

禅城区中小学生人工智能素养复赛练习

未认领
状态
已结束
题目
50
开始时间
2026-6-7 0:00
截止时间
2026-6-19 23:59
可延期
24 小时