时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld
题目描述
ljw是一名资深的剥削资本家,他每天都会催人出题,如果没能顶住他的每日剥削,那么将受到一定的伤害,小胡同志就深受剥削。
现在假设资本家ljw每天都有一个出题剥削值,第i天的剥削值为a[i]。小胡每天可以释放“再等等,快好了”技能抵挡ljw的剥削,因为小胡每天的精神状态不一样,所以释放的技能抵挡的剥削伤害会有所不同,现在假设第i天小胡的技能抵挡伤害为b[i],当b[i]大于等于a[i]时,小胡该天将不会受到剥削伤害,当b[i]小于a[i]时,小胡将受到{a[i] - b[i]}的剥削伤害。
随着时间的推移,小胡受到的伤害越来越大,所以小胡想要奋起反抗,然而资本家ljw太过于强大,小胡无法推倒他,他只能将自己受到的伤害降到最低,于是他准备发动他的两个终极技能——“我爱ljw”和“ljw爱上我”。由于小胡的法力有限,两种终极技能加起来只能释放10次。“我爱ljw”技能将选择一个非负整数,所有等于该非负整数的b[i]将变成原来的两倍,“ljw爱上我”技能也将选择一个非负整数,所有等于该非负整数的b[i] 都将变成原序列中的b[i] + b[i - 1](假设b[0] = 0),两种技能不能选择同一个非负整数,但同一种技能可以选择同一个非负整数,但是只能作用一次技能效果。为了尽可能降低小胡被ljw剥削的伤害,聪明的你请帮助小胡分析需要怎样释放这十次技能(允许释放10次同一种技能)。
输入描述:
输入有三行
第一行一个正整数n,表示小胡被ljw剥削的天数
第二行包含n个正整数,表示为a[1]…a[n]
第三行包含n个正整数,表示为b[1]…b[n]。
输出描述:
输出10行,每行两个数字,两个值之间用空格隔开,第一个数字为1或者2,1表示释放“我爱ljw”技能,2表示释放“ljw爱上我”技能,第二个数字表示该技能选择的非负整数。10行输出按照第二个数字从小到大的顺序输出。如果有多种满足条件的结果,请输出选择的10个非负整数的和最小的方案,若有多种满足条件的结果中10个非负整数的和相同,但选择的技能不同的方案,则输出10个技能的数字和(即第一个数字的和)最小的方案。
示例1
输出
复制
1 0
1 0
1 0
1 0
1 0
1 1
1 2
1 3
1 4
1 5
示例2
输入
复制
10
10 9 8 7 6 6 5 4 3 2
5 4 3 2 1 1 5 4 3 2
输出
复制
1 0
1 0
1 0
1 0
1 0
2 1
2 2
2 3
2 4
1 5
备注:

