Problem3072--【Div2】分段

3072: 【Div2】分段

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

问题描述 对于非负整数 l 和 r (l<r),让 S(l,r) 表示由整数 l 到 r−1 按顺序排列而成的序列 (l,l+1,…,r−2,r−1)。此外,一个序列被称为良好序列,当且仅当它可以表示为 S(2^i *j,2^i * (j+1)),其中 i 和 j 是非负整数。


给定非负整数 L 和 R (L<R), 将序列 S(L,R) 分成最少数量的良好序列,并打印出序列数和具体的分割。更正式地说,找到最小正整数 M,使得存在一系列非负整数对 (l1 ,r1 ),(l2 ,r2 ),…,(lM ,rM ),满足以下条件,并打印这样的 (l 1 ,r 1 ),(l 2 ,r 2 ),…,(l M ,r M )。

条件1 L=l 1 <r 1 =l 2 <r 2 =⋯=l M <r M =R 

条件2 S(l 1 ,r 1 ),S(l 2 ,r 2 ),…,S(l M ,r M ) 是良好序列。 

可以证明只有一种分割方式可以使 M 最小化。


Sample Input Copy

3 19

Sample Output Copy

5
3 4
4 8
8 16
16 18
18 19

HINT

Source/Category