#P1031. 篮子装鸡蛋(egg)

篮子装鸡蛋(egg)

题目描述

现在有 nn 个篮子,编号为 1 ~ nn。第 ii 个篮子最多能装下 aia_i 个鸡蛋。

现在有 kk 堆不同品种的鸡蛋,要求你给每堆鸡蛋都分配一个用来装它们的篮子,由于不同堆鸡蛋的品种互不相同,因此不允许把品种不同的鸡蛋放在同一个篮子里。

请你找出一个分配方案 pppp 的第 ii 个数 pip_i 表示第 ii 堆鸡蛋需要分配到编号为 pip_i 的篮子里。(要求分配方案 pp字典序最小

输入格式

第一行两个整数 nnkk,分别表示篮子的数量和鸡蛋的堆数。

第二行 nn 个正整数 aia_i,分别表示编号为 ii 的篮子能装下多少鸡蛋。

第三行 kk 个正整数 bib_i,分别表示第 ii 堆鸡蛋的数量。

输出格式

输出一行 kk 个整数 p1...pkp_1 ... p_k。(如果没有可用的分配方案,则输出-1)

样例数据

6 6
1 9 1 9 8 1
1 1 4 5 1 4
1 3 2 4 6 5

样例说明

样例一解释:

  • 第 1 堆鸡蛋放到 1 号篮子;
  • 第 2 堆鸡蛋放到 3 号篮子;
  • 第 3 堆鸡蛋放到 2 号篮子;
  • 第 4 堆鸡蛋放到 4 号篮子;
  • 第 5 堆鸡蛋放到 6 号篮子;
  • 第 6 堆鸡蛋放到 5 号篮子。

数据范围

对于30%的数据,所有篮子能装的鸡蛋数量都相同;

对于100%的数据,1n,k61 \le n,k \le 61ai,bi101 \le a_i, b_i \le 10

附加说明

字典序: 从左到右第一个不同字符的 ASCII 码的大小关系。

例如:1 2 1 3 1 和 1 2 2 1 1 相比,前者的字典序小。因为第三个字符1的ASCII码小于字符2的ASCII码。