top1编程
← 返回上一页

P4783. 灾区救援

时间限制
1000 ms
内存限制
128 MiB
难度
10
知识点
童程童美
知识点
二分基础
知识点
二分查找基础

题目描述

童童有一批救援物资,预备分装在不同的卡车上,准备运输到灾区救援。每辆货车都有一个载重量,货车按照载重量由小到大排好顺序,都停在一条笔直的马路上,有可能货车的载重量相同。 现在童童想知道,载重量为 xx 的货车在队伍中第一次出现的位置和最后一次出现的位置,分别是多少?(注意:货车的位置是从1开始的。) 现在童童有 qq 次询问,每次询问都输出两个数字 a,ba,b,载重量为 xx 的卡车第一次和最后一次出现的位置。如果没有这个载重量的卡车输出 -1。

输入格式

输入 nnqq,分别是卡车的数量和童童询问的次数。 接下来一行,nn 个数字,按照由小到大的顺序,为卡车的载重量。 接下来 qq 行。 每行一个数字为查询的 xx

输出格式

输出为 qq 行。 每行两个数字,为第一次出现的位置和最后一次出现的位置。如果没有这个重量输出 1-1

10 3
200 300 300 300 300 300  400 688 788 999
300
688
350
2 6
8 8
-1 -1