题库练习 Sockets
← 上一题 下一题 →

A10578 | Sockets

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

The ICM ACPC World Finals is coming! Unfortunately, the organizers of the competition were so busy preparing tasks that totally missed an important technical point — the organization of electricity supplement for all the participants workstations.

There are $n$ computers for participants, the $i$ -th of which has power equal to positive integer $p_{i}$ . At the same time there are $m$ sockets available, the $j$ -th of which has power euqal to positive integer $s_{j}$ . It is possible to connect the $i$ -th computer to the $j$ -th socket if and only if their powers are the same: $p_{i}=s_{j}$ . It is allowed to connect no more than one computer to one socket. Thus, if the powers of all computers and sockets are distinct, then no computer can be connected to any of the sockets.

In order to fix the situation professor Puch Williams urgently ordered a wagon of adapters — power splitters. Each adapter has one plug and one socket with a voltage divider between them. After plugging an adapter to a socket with power $x$ , the power on the adapter's socket becomes equal to ![](/uploads/luogu/CF732E/5e007d05e4d6f2ed51d5f62962d41cc3679ff923_c781bf7da4f2.png), it means that it is equal to the socket's power divided by two with rounding up, for example ![](/uploads/luogu/CF732E/5c9ef8a00e56168ea44ff6df31c12ce3d9ed06d3_1da7d01bb27f.png) and ![](/uploads/acgo/image/6326b32ad2f2dddd_e7f1314c1d57.jpeg).

Each adapter can be used only once. It is possible to connect several adapters in a chain plugging the first to a socket. For example, if two adapters are plugged one after enother to a socket with power $10$ , it becomes possible to connect one computer with power $3$ to this socket.

The organizers should install adapters so that it will be possible to supply with electricity the maximum number of computers $c$ at the same time. If there are several possible connection configurations, they want to find the one that uses the minimum number of adapters $u$ to connect $c$ computers.

Help organizers calculate the maximum number of connected computers $c$ and the minimum number of adapters $u$ needed for this.

The wagon of adapters contains enough of them to do the task. It is guaranteed that it's possible to connect at least one computer.

输入格式

The first line contains two integers $n$ and $m$ ( $1<=n,m<=200000$ ) — the number of computers and the number of sockets.

The second line contains $n$ integers $p_{1},p_{2},...,p_{n}$ ( $1<=p_{i}<=10^{9}$ ) — the powers of the computers.

The third line contains $m$ integers $s_{1},s_{2},...,s_{m}$ ( $1<=s_{i}<=10^{9}$ ) — the power of the sockets.

输出格式

In the first line print two numbers $c$ and $u$ — the maximum number of computers which can at the same time be connected to electricity and the minimum number of adapters needed to connect $c$ computers.

In the second line print $m$ integers $a_{1},a_{2},...,a_{m}$ ( $0<=a_{i}<=10^{9}$ ), where $a_{i}$ equals the number of adapters orginizers need to plug into the $i$ -th socket. The sum of all $a_{i}$ should be equal to $u$ .

In third line print $n$ integers $b_{1},b_{2},...,b_{n}$ ( $0<=b_{i}<=m$ ), where the $b_{j}$ -th equals the number of the socket which the $j$ -th computer should be connected to. $b_{j}=0$ means that the $j$ -th computer should not be connected to any socket. All $b_{j}$ that are different from $0$ should be distinct. The power of the $j$ -th computer should be equal to the power of the socket $b_{j}$ after plugging in $a_{bj}$ adapters. The number of non-zero $b_{j}$ should be equal to $c$ .

If there are multiple answers, print any of them.

输入输出样例

输入 #1
2 2
1 1
2 2
输出 #1
2 2
1 1
1 2
输入 #2
2 1
2 100
99
输出 #2
1 6
6
1 0
C++ 编辑器
输入
输出