3511:【模板题】二分查找

时间限制:5 S   /  内存限制:65536 KB
AC:71   /  Submit:163
问题描述

给你一个大小为 n 的数组,下标从 1 到 n;询问 m 次,每次是一个数字 x;对于每次询问,你需要输出三个数字:

1、第一个比 x 大的元素下标

2、等于 x 的元素下标

3、最后一个比 x 小的元素下标

如果对应数字没有这样的元素下标,则用 0 代替。

输入描述

第一行是一个正整数 n 表示数组的大小。(1 <= n <= 2e5)

然后是 n 个数字,保证:

1、这些数字都在 int 的范围内

2、n 个数字互不相同

3、n 个数字是递增的

然后是一个正整数 m 表示询问的次数。(1 <= m <= 1e5)

每次询问有一个 int 范围内的数字 x。

输出描述

对于每次询问,输出描述中的要求,每两个数字之间用空格隔开,然后换行。

样例输入复制样例

5

1 3 5 7 9

3

1

4

7

样例输出

2 1 0

3 0 2

5 4 3

来源
Esdhy

Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1