问题描述

正在进行一个名为World Tour Finals的编程竞赛,有N个选手参加,比赛时间过了一半。 这个竞赛一共有M个问题,第i个问题的分数Ai是500到2500之间的100的倍数。

对于每个i = 1,...,N,你会得到一个表示选手i已经解决的问题的字符串Si。 Si是一个长度为M的字符串,由'o'和'x'组成,Si的第j个字符是'o',表示选手i已经解决了问题j,是'x'表示还没有解决。 然而,没有任何一个选手解决了所有的问题。

选手i的总分是解决的问题的分数总和加上i点的奖励分数计算得出。
现在,请回答每个i = 1,...,N的以下问题。

  • 选手i至少需要解决多少个还没有解决的问题,才能超过其他所有选手的当前总分?

注意,根据题目中的条件和限制,可以证明选手i通过解决所有问题都能超过其他所有选手的当前总分,所以答案是总是存在的。

限制

  • 2 ≤ N ≤ 100
  • 1 ≤ M ≤ 100
  • 500 ≤ Ai ≤ 2500
  • Ai是100的倍数
  • Si是长度为M的字符串,由'o'和'x'组成
  • Si至少包含一个'x'
  • 所有输入值都是整数

输入

输入以以下格式从标准输入给出:

N M
A1 A2 ... AM
S1
S2
...
SN

输出

输出N行。第i行应该包含对于选手i的问题的答案。


输入示例1

3 4
1000 500 700 2000
xxxo
ooxx
oxox

输出示例1

0
1
1

竞赛时间过了一半时,选手的总分为:选手1得2001分,选手2得1502分,选手3得1703分。

选手1已经超过了其他所有选手的总分,即使他们没有解决任何问题。

选手2可以解决问题4,总分将达到3502分,超过其他所有选手的总分。

选手3也可以解决问题4,总分将达到3703分,超过其他所有选手的总分。


输入示例2

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

输出示例2

1
1
1
1
0

输入示例3

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
oooooxxx
ooooooxx

输出示例3

7
6
5
4
3
2
0
World Tour Finals 编程比赛 - 超越其他选手总分需要解决的问题数量

原文地址: https://www.cveoy.top/t/topic/o9ur 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录