97311 - 组合数(combine)

通过次数

13

提交次数

19

时间限制 : 1 秒
内存限制 : 128 MB

小明有n个数字(均是0-9中的数字),希望把它们拼成一个n位数,并且这个n位数不能有前导0(即数字的最高位不是0)。小明想知道能组成多少种不同的数字,并且他想知道,某个数x在这些能组成的数组中从大到小排第几?

输入

输入的第一行包含一个数字n。表示数字的个数。

输入的第二行包含n个数字$a{1},a{2},\ldots ,a_{n}$,它们均是0-9的数字。

输入的第三行包含一个数字x。

输出

输出仅一行,包含两个数字,分别表示组成的不同的数字的个数,及x的排名。

样例

输入

3
1 2 3
321

输出

6 1

输入

4
1 2 3 0
1023

输出

18 18

提示

样例1解释

有三个不同的数字1、2、3。可以组成这样6种不同的三位数:123、132、213、231、312、321。321在其中是最大的数字。

样例2解释

有四个不同的数字1、2、3。可以组成这样18种不同的三位数:1023、1032、1203、1230、1302、1320、2013、2031、2103、2130、2301、2310、3012、3021、3102、3120、3201、3210,1023是最小的数字,排名18。 

数据范围

对于所有测试数据有:1≤n≤10。保证输入的数字至少有一个不为0。保证x是一个n位数,且可以由输入的数字组成。 |测试点 |n≤ |特殊性质| |-----|-----|-----| |1| 1| 无| |2~3| 6| $a{i}两两不相同| |4~5| 6| 无| |6~7| 10| a{i}$两两不相同| |8~10| 10| 无|

来源

2026第五届青少年编程挑战精英赛