D. 推箱子

    传统题 3000ms 1024MiB

推箱子

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

背景

半仙有很多箱子,堆放在若干个仓库中,现在半仙要整理仓库。

描述

给定每个仓库中箱子个数,和半仙希望每个仓库箱子个数,半仙可以将一个仓库中的箱子移到另一个仓库中,因为半仙喜欢一半,所以每次只会将某个仓库中一半的箱子给另一个仓库。

半仙认为如果一个仓库中现在有k个箱子,如果k是奇数,那么这个仓库的一半的箱子有k+12\frac{k+1}{2}个,如果k是偶数,则有k2\frac{k}{2}个.

你需要给半仙一种移动方法,来达到半仙的目标。

格式

输入

  • 第一行有两个整数,n和k,分别表示仓库个数和你可以做多少次移动箱子的操作。
  • 接下来一行,有n个整数,a1,a2,,ana_1 , a_2 , \dots , a_n ,分别表示现在第i个仓库里箱子个数。 最后一行,有n个整数,b1,b2,,bnb_1 , b_2 , \dots , b_n ,分别表示进行移动箱子的操作后,第i个仓库的箱子个数。
  • 输入数据保证有解

输出

  • 第一行,第一行包含一个整数op,表示操作次数。 接下来op行,有两个整数a,b。表示把a仓库中一半的箱子移到b仓库。
  • 你需要保证0opk0\le op\le k,1a,bn1\le a,b \le n
  • 如果有多组满足条件的移动方法,输出任意一种。

样例

4 100
1 1 1 1
2 0 2 0
2
2 1
4 3
2 100
4 5
5 4
4
2 1
1 2
1 2
2 1

数据范围

测试点编号 1n1\le n\le k=k= 1ai,bi1\le a_i,b_i \le 特殊限制
121\sim 2 22 10001000 100100
353\sim 5 5050 10610^6
696\sim 9 100100 1000010000 10310^3
101310\sim 13 10001000 200000200000
141714\sim 17 10410^4 15000001500000 10710^7 A
182018\sim 20 10001000 100000100000 10610^6
212521\sim 25 10410^4 15000001500000 10710^7

特殊性质A:b1=0b_1=0

提示

本题要输出操作次数。

本题数据较大,请用快速的输入,输出方式。

2025八月月赛

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-8-1 8:30
结束于
2025-8-1 12:00
持续时间
3.5 小时
主持人
参赛人数
48