#1390. 比k大的数

比k大的数

题目描述

一个不含0的nn位数,其中值等于ii的数码有cic_i(1i9)(1≤i≤9)

在这个nn位数的所有可能的值中,比kk大的值最小是多少?

输入格式

第1行,2 个正整数 n,kn,k

第2行,9个非负整数 c1,c2,,c9c_1,c_2,……,c_9,分别表示1 91~9的个数。

输出格式

输出所有可能的值中,比kk大的值的最小值。

如果没有比kk大的值,输出-1。

3 213
1 1 1 0 0 0 0 0 0
231
4 4000
1 0 2 1 0 0 0 0 0
4133
3 9999
1 1 1 0 0 0 0 0 0
-1
21 791823456795285473500
1 2 2 3 2 3 2 3 3
791823456795286344689

【样例1说明】

有1个1、1个2、1个3,可能的值有123,132,213,231,312,321,共6个。

其中,比kk=213大的最小值是 231。

【样例2说明】

有1个1、2个3、1个4,可能的值有 1334,1343,1433,3134,3143,3314,3341,3413,3431,4133,4313,4331共12个。

其中,比kk=4000大的最小数是 4133。

【样例3说明】

有1个1、1个2、1个3,可以得到的最大值 321都比k=9999 小,所以无法得到比k大的值。

【样例4说明】

输入输出可能超过 64 位整数类型范围。

【数据范围】

对于 100% 的数据,$1≤n≤500000;1≤k<10^{500001},c_i>0,c_1+c_2+c_3+c_4+c_5+c_6+c_7+c_8+c_9=n。$