AT_arc106_c [ARC106C] Solutions
题目描述
对于两个区间 $[L_1:R_1],\ [L_2:R_2]$,如果 $L_1 \leq R_2$ 且 $L_2 \leq R_1$,则定义这两个区间*相交*。
考虑如下问题 $P$:
> 输入:$N$ 个区间 $[L_1:R_1],\cdots,[L_N:R_N]$,其中 $L_1,L_2,\cdots,L_N,R_1,R_2,\cdots,R_N$ 均互不相同。
> 输出:可以选择的、任意两个区间都不相交的区间的最大数量。
高桥君实现了如下程序:
> 按照 $R_i$ 的值升序排列输入的区间,得到 $[L_{p_1}:R_{p_1}], [L_{p_2}:R_{p_2}], \cdots, [L_{p_N}:R_{p_N}]$。
> 对于 $i=1,2,\cdots,N$,依次进行如下操作:
> 如果 $[L_{p_i}:R_{p_i}]$ 与之前选择的所有区间都不相交,则选择该区间。
> 输出所选择的区间数量。
另一方面,青木君实现了如下程序:
> 按照 $L_i$ 的值升序排列输入的区间,得到 $[L_{p_1}:R_{p_1}], [L_{p_2}:R_{p_2}], \cdots, [L_{p_N}:R_{p_N}]$。
> 对于 $i=1,2,\cdots,N$,依次进行如下操作:
> 如果 $[L_{p_i}:R_{p_i}]$ 与之前选择的所有区间都不相交,则选择该区间。
> 输出所选择的区间数量。
给定整数 $N, M$,请构造一个由 $N$ 个区间组成的问题 $P$ 的输入,使得
$$
(\text{高桥君的程序输出的值}) - (\text{青木君的程序输出的值}) = M
$$
输入格式
输入为以下格式,从标准输入读取:
> $N$ $M$
输出格式
如果不存在满足条件的 $N$ 个区间,则输出 `-1`。
如果存在,则输出如下 $N$ 行:
> $L_1$ $R_1$
> $L_2$ $R_2$
> $\vdots$
> $L_N$ $R_N$
其中,$[L_1:R_1],\cdots,[L_N:R_N]$ 必须满足以下条件:
- $1 \leq L_i < R_i \leq 10^9$
- $L_i \neq L_j$($i \neq j$)
- $R_i \neq R_j$($i \neq j$)
- $L_i \neq R_j$
- $L_1,\cdots,L_N,R_1,\cdots,R_N$ 均为整数(21:46 补充)
如果有多组答案,输出任意一组均可。
输出最后必须换行。
说明/提示
### 限制
- 所有输入均为整数
- $1 \leq N \leq 2 \times 10^5$
- $-N \leq M \leq N$
### 样例解释 1
将 $5$ 个区间依次命名为区间 $1$、区间 $2$、$\cdots$、区间 $5$。
高桥君的程序如下操作:
> 将区间按区间 $5$、区间 $1$、区间 $2$、区间 $4$、区间 $3$ 排序。
> 选择区间 $5$。
> 区间 $1$ 不选(与区间 $5$ 相交)。
> 选择区间 $2$。
> 区间 $4$ 不选(与区间 $2$ 相交)。
> 选择区间 $3$。
> 因此,高桥君的程序输出 $3$。
青木君的程序如下操作:
> 将区间按区间 $1$、区间 $5$、区间 $2$、区间 $4$、区间 $3$ 排序。
> 选择区间 $1$。
> 区间 $5$ 不选(与区间 $1$ 相交)。
> 区间 $2$ 不选(与区间 $1$ 相交)。
> 选择区间 $4$。
> 区间 $3$ 不选(与区间 $4$ 相交)。
> 因此,青木君的程序输出 $2$。
此时,$3-2=1(=M)$,这 $5$ 个区间满足条件。
由 ChatGPT 4.1 翻译