#ATarc106c. [ARC106C] Solutions

[ARC106C] Solutions

题目描述

对于两个区间 [L1:R1], [L2:R2][L_1:R_1],\ [L_2:R_2],如果 L1R2L_1 \leq R_2L2R1L_2 \leq R_1,则定义这两个区间相交

考虑如下问题 PP

输入:NN 个区间 [L1:R1],,[LN:RN][L_1:R_1],\cdots,[L_N:R_N],其中 L1,L2,,LN,R1,R2,,RNL_1,L_2,\cdots,L_N,R_1,R_2,\cdots,R_N 均互不相同。
输出:可以选择的、任意两个区间都不相交的区间的最大数量。

高桥君实现了如下程序:

按照 RiR_i 的值升序排列输入的区间,得到 $[L\_{p\_1}:R\_{p\_1}], [L\_{p\_2}:R\_{p\_2}], \cdots, [L\_{p\_N}:R\_{p\_N}]$。
对于 i=1,2,,Ni=1,2,\cdots,N,依次进行如下操作:
如果 [Lpi:Rpi][L_{p_i}:R_{p_i}] 与之前选择的所有区间都不相交,则选择该区间。
输出所选择的区间数量。

另一方面,青木君实现了如下程序:

按照 LiL_i 的值升序排列输入的区间,得到 $[L\_{p\_1}:R\_{p\_1}], [L\_{p\_2}:R\_{p\_2}], \cdots, [L\_{p\_N}:R\_{p\_N}]$。
对于 i=1,2,,Ni=1,2,\cdots,N,依次进行如下操作:
如果 [Lpi:Rpi][L_{p_i}:R_{p_i}] 与之前选择的所有区间都不相交,则选择该区间。
输出所选择的区间数量。

给定整数 N,MN, M,请构造一个由 NN 个区间组成的问题 PP 的输入,使得

(高桥君的程序输出的值)(青木君的程序输出的值)=M(\text{高桥君的程序输出的值}) - (\text{青木君的程序输出的值}) = M

输入格式

输入为以下格式,从标准输入读取:

NN MM

输出格式

如果不存在满足条件的 NN 个区间,则输出 -1

如果存在,则输出如下 NN 行:

L1L_1 R1R_1
L2L_2 R2R_2
\vdots
LNL_N RNR_N

其中,[L1:R1],,[LN:RN][L_1:R_1],\cdots,[L_N:R_N] 必须满足以下条件:

  • 1Li<Ri1091 \leq L_i < R_i \leq 10^9
  • LiLjL_i \neq L_jiji \neq j
  • RiRjR_i \neq R_jiji \neq j
  • LiRjL_i \neq R_j
  • L1,,LN,R1,,RNL_1,\cdots,L_N,R_1,\cdots,R_N 均为整数(21:46 补充)

如果有多组答案,输出任意一组均可。

输出最后必须换行。

样例 1

输入

5 1

输出

1 10
8 12
13 20
11 14
2 4

样例 2

输入

10 -10

输出

-1

说明/提示

限制

  • 所有输入均为整数
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • NMN-N \leq M \leq N

样例解释 1

55 个区间依次命名为区间 11、区间 22\cdots、区间 55

高桥君的程序如下操作:

将区间按区间 55、区间 11、区间 22、区间 44、区间 33 排序。
选择区间 55
区间 11 不选(与区间 55 相交)。
选择区间 22
区间 44 不选(与区间 22 相交)。
选择区间 33
因此,高桥君的程序输出 33

青木君的程序如下操作:

将区间按区间 11、区间 55、区间 22、区间 44、区间 33 排序。
选择区间 11
区间 55 不选(与区间 11 相交)。
区间 22 不选(与区间 11 相交)。
选择区间 44
区间 33 不选(与区间 44 相交)。
因此,青木君的程序输出 22

此时,32=1(=M)3-2=1(=M),这 55 个区间满足条件。

由 ChatGPT 4.1 翻译