A85915.「eJOI2019」塔

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:100MB

题目描述

本题译自 eJOI2019 Problem D. Tower

有一个数塔,一开始上面有一个数 11,接下来你可以每次选一个区间 [l,u](1lun)[l, u] (1\le l\le u\le n),其中 nn 是数塔当前有几个数,将数塔从下往上数的第 ll 个到第 uu 个求和,然后放在数塔的顶部。请你每次用尽量少的操作次数,让数塔的顶部的数为 qq

你总共需要回答 TT 组询问。

输入格式

第一行一个正整数 TT,表示数据组数。

接下来每个数据一行一个正整数 qq,表示要达到的数。

输出格式

对于每个 qq 按顺序输出:

  • 第一行输出一个整数 s(0s1000)s(0\le s\le 1000),表示你所使用的步数。
  • 接下来 ss 行中,每行输出两个正整数 l,ul, u,表示接下来取出数的区间。

输入输出样例

  • 输入#1

    3
    2
    3
    7

    输出#1

    2
    1 1
    1 2
    3
    1 1
    2 2
    1 3
    4
    1 1
    1 2
    2 3
    1 4

说明/提示

对于 100%100\% 的数据,保证 1T103,1q10181\le T \le 10^3, 1\le q\le 10^{18}

测试点编号 TT qq
11 10\le 10 10\le 10
22 20\le 20 20\le 20
33 =102= 10^2 100\le 100
44 =103= 10^3 104\le 10^4
55 =103= 10^3 105\le 10^5
66 =103= 10^3 106\le 10^6
77 =103= 10^3 109\le 10^9
88 =103= 10^3 1012\le 10^{12}
99
1010
首页