1237 : 一道好题

时间限制Time Limit 1 Sec 内存限制Memory Limit 512 MB 提交次数Submitted 1331 Times 通过次数Solved 351 Times 特判评测Special Judge

题目描述Description

一道好题应该有一个简洁的题面。

有一个长度为 n,初始全为 0 的序列 a,另有一个长度为 n 的序列 b,你希望将 a 变成 b,你可以执行如下两种操作:

1~x:将 a 中所有值为 x 的数 +1

2~x:将 a 中下标为 x 的数 +1

你不需要最小化操作次数,但只能使用最多 20000 次操作。

输入格式Input

第一行一个正整数 n1\leq n\leq 1000)。

第二行 n 个非负整数 b_1, \cdots, b_n0\leq b_i\leq n)描述序列 b

输出格式Output

第一行一个整数 k 表示操作次数,你需要保证 0 \le k \le 20000

之后 k 行每行两个整数 1~x2~x,表示一次操作。对于 1~x 类型的操作,你需要保证 0\leq x\leq n,对于 2~x 类型的操作,你需要保证 1\leq x\leq n

样例Sample

出题Author

THU

来源Source

第九届中国大学生程序设计竞赛(深圳)-(CCPC2023-Shenzhen)