#4247. 世界巡回赛决赛(WorldTourFinals)
世界巡回赛决赛(WorldTourFinals)
题目描述
有 名选手参加的编程比赛世界巡回赛决赛正在进行中,比赛时间已经过半。
这场比赛共有 道题目,第 题的分值 是 到 之间的 的倍数。
对于每个,给出一个字符串 表示选手 已经解决了哪些题目。
是一个长度为 的由 和 组成的字符串,其中 的第 个字符为 表示选手 已经解决了第 题,为 表示还没有解决。
这里,没有选手解决了所有题目。
选手 的总分计算为其解决的题目分值之和,再加上 分的奖励分。
现在,对于每个 ,请回答以下问题:
选手 至少要再解决多少道还未解决的题目,才能让选手 的总分超过其他所有选手目前的总分?
注意,根据题目中的条件和约束,可以证明选手 通过解决所有题目,可以超过其他所有选手目前的总分,因此答案始终是有定义的。
输入格式
从标准输入按以下格式给出:
输出格式
输出 行。第 行应包含对选手 的问题的答案。
样例
3 4
1000 500 700 2000
xxxo
ooxx
oxox
0
1
1
5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx
1
1
1
1
0
7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
oooooxxx
ooooooxx
7
6
5
4
3
2
0
样例1解释
在比赛时间过半时,各选手的总分为:选手是分,选手是分,选手是分。
选手 已经领先于其他所有选手的总分,不需要再解决任何题目。
选手 可以解决第 题,总分将达到 分,超过其他所有选手的总分。
选手 也可以解决第 题,总分将达到 分,超过其他所有选手的总分。
数据范围
- 是 的倍数。
- 是一个长度为 的由 和 组成的字符串。
- 至少包含一个 。
- 输入中的所有数值都是整数。
来源
- AtCoder ABC323C