1921: 记分牌
题目描述
比赛中记分牌上的得分数,由标有数字0~9 的10 类卡片组合而成,例如得分225 由两张标有2的卡片和一张标有5 的卡片组合而成。
然而,在一场比赛前,粗心的记分员只拿了包含0 在内的m 类卡片(假定每类卡片数目无限)。为了不延误比赛,记分员决定用这m 类卡片表示比赛分数,表示规则为:按从小到大的顺序,用第i个能以这m 类卡片表示的十进制数代表得分i,其中i ≥ 0。例如,若所带卡片只有{0, 2, 4, 5}四类,则可组合成的十进制数从小到大分别为{0, 2, 4, 5, 20, 22, 24, 25, 40, 42, 44, …},依次分别对应于得分{0, 1,2, 3, 4, 5, 6, 7, 8, 9, 10, …}。
当这m 类卡片所组合成数字的位数很多时,记分员自己也不知道到底现在分数是多少,请你编写程序帮助他/她计算准确的得分。其次,比赛还有一个关键得分S,记分员还想知道得分为S时记分牌上的数字会是多少。
输入
包含四行:
第一行为正整数m,表示目前可用数字卡片的种类数。
第二行为m 个各不相同的一位阿拉伯数字,从小到大排列,以空格分隔,且其中肯定包含0。表示m 种可用的卡片。
第三行为记分牌上的一个非负整数X,其所有数位均取自第二行给定的m 个数字,且最高位非0。
第四行为一个非负整数S,你需要输出对应记分牌上的数字。
输出
包含两行,第一行为十进制非负整数,对应于X 所表示的十进制得分。
第二行为一个非负整数,表示了分数为S时对应的记分牌上的数字,保证此项输出不超过2,147,483,647。
样例输入 复制
4
0 2 4 7
27
7
样例输出 复制
7
27
提示
【样例说明】
从小到大排列为0,2,4,7,20,22,24,27,……对应得分0,1,2,3,4,5,6,7,……
所以记分牌数字27对应得分为7,得分7对应记分牌数字为27。
【数据规模与约定】
对于20%的数据,m ≤ 3;
对于40%的数据,X ≤ 32767,S ≤ 32767;
对于100%的数据,2 ≤ m ≤ 10,X ≤ 2,147,483,647。