luogu#P12086. [RMI 2019] 分钱 / Devil's Share

[RMI 2019] 分钱 / Devil's Share

题目描述

给定九个非负整数 d1,,d9d_1,\ldots,d_9。令 s=dis=\sum d_i

构造一个(十进制下)长度为 ss 的正整数 xx,在 xx 的数位中数字 ii1i91\le i\le 9)出现了恰好 did_i 次。

在此前提下,将 xx 的十进制表示视为字符串,将它长度为 kk(sk+1)(s-k+1) 个子串全部拿出来,转成数字 y1,y2,,ysk+1y_1,y_2,\ldots,y_{s-k+1}。你需要最小化 max{y1,y2,,ysk+1}\max \{y_1,y_2,\ldots,y_{s-k+1}\} 的值。

输入格式

本题单个测试点内有多组测试数据。

第一行,一个正整数 TT,表示测试数据组数。

接下来描述 TT 组测试数据:

每组数据第一行,一个正整数 kk

每组数据第二行,九个非负整数 d1,,d9d_1,\ldots,d_9

输出格式

每组数据输出一行一个正整数,表示你构造的 xx

3
2
1 1 2 0 0 0 0 0 0
7
2 4 2 0 0 6 2 2 2
7
3 3 3 0 0 6 2 2 2
2313
62616236261623778899
623616236162361778899

提示

对于 100%100\% 的数据,保证:

  • 1T1051\le T\le 10^5
  • 1s1051\le s\le 10^5
  • s106\sum s\le 10^6
  • 1ks1\le k\le s
  • 0di0\le d_i

子任务

  • Subtask 1(1313 pts):0d1,d2,d3,d430\le d_1,d_2,d_3,d_4\le 3d5=d6==d9=0d_5=d_6=\ldots=d_9=01T15361\le T\le 1536,保证不会出现两组相同的数据。
  • Subtask 2(1414 pts):k=2k=2
  • Subtask 3(2929 pts):d3=d4==d9=0d_3=d_4=\ldots=d_9=0
  • Subtask 4(4444 pts):无额外限制。