编程题
### 问题描述 有一条长桌上有 $n$ 个空盘子,编号为 $1\sim n$,现在要在上面进行 $k$ 次操作,每次操作选择一个区间 $[l,r]$,给区内内每个盘子放一个蛋糕。接来下 $q$ 组查询,每次查询所有盘子中,哪个盘子蛋糕数量大于等于 $x$,如果有多个,输出盘子编号最小的那个。 ### 输入格式 第一行二个整数 $n,k$,代表盘子数量与操作次数。 接下来 $k$ 行每行一个 $[l,r]$,代表操作。 第 $k+2$ 行输入一个 $q$,代表查询的 $x$。 接下来 $q$ 行每行一个 $x$,需要查询的大于等于 $x$ 的蛋糕数量且盘子编号最小的那个,如果不存在,输出 `-1`。 ### 输出格式 对于 $q$ 组查询,每组输出大于等于 $x$ 的蛋糕数量且盘子编号最小的那个,如果不存在,输出 `-1`。 ### 样例输入 ```text 5 2 1 3 3 5 3 1 2 3 ``` ### 样例输出 ```text 1 3 -1 ``` ### 说明 蛋糕分布为: $a=[1,1,2,1,1]$。 因此输出 $1,3,-1$。 ### 评测数据规模 $1\le n \le 10^5,1\le k \le 10^5,1\le l\le r \le n,1 \le q \le 10^5,1 \le x \le k$。
查看答案
赣ICP备20007335号-2