4077: 世界巡回赛决赛

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

# World Tour Finals ## 题目描述 有 $N$ 名选手参加的编程比赛世界巡回赛决赛正在进行中,比赛时间已经过半。 这场比赛共有 $M$ 道题目,第 $i$ 题的分值 $A_i$ 是 $500$ 到 $2500$ 之间的 $100$ 的倍数。 对于每个$ i=1,\ldots,N$,给出一个字符串 $S_i$ 表示选手 $i$ 已经解决了哪些题目。 $S_i$ 是一个长度为 $M$ 的由 $o$ 和 $x$ 组成的字符串,其中 $S_i$ 的第 $j$ 个字符为 $o$ 表示选手 $i$ 已经解决了第$ j$ 题,为 $x$ 表示还没有解决。 这里,没有选手解决了所有题目。 选手 $i$ 的总分计算为其解决的题目分值之和,再加上 $i$ 分的奖励分。 现在,对于每个 $i=1,\ldots,N$,请回答以下问题: 选手 $i$ 至少要再解决多少道还未解决的题目,才能让选手 $i$ 的总分超过其他所有选手目前的总分? 注意,根据题目中的条件和约束,可以证明选手 $i$ 通过解决所有题目,可以超过其他所有选手目前的总分,因此答案始终是有定义的。

输入

## 输入格式 从标准输入按以下格式给出: $N \ M$ $A_1 \ A_2 \ldots \ A_M$ $S_1$ $S_2$ $\vdots$ $S_N$

输出

## 输出格式 输出 $N$ 行。第 $i$ 行应包含对选手 $i$ 的问题的答案。

样例输入 复制

3 4
1000 500 700 2000
xxxo
ooxx
oxox

样例输出 复制

0
1
1

提示

## 输入输出样例 ### 输入样例1 ``` 3 4 1000 500 700 2000 xxxo ooxx oxox ``` ### 输出样例1 ``` 0 1 1 ``` ### 输入样例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 ``` ## 数据范围与提示 **【样例说明1】** 在比赛时间过半时,各选手的总分为:选手$1$是$2001$分,选手$2$是$1502$分,选手$3$是$1703$分。 选手 $1$ 已经领先于其他所有选手的总分,不需要再解决任何题目。 选手 $2$ 可以解决第 $4$ 题,总分将达到 $3502$ 分,超过其他所有选手的总分。 选手 $3$ 也可以解决第 $4$ 题,总分将达到 $3703$ 分,超过其他所有选手的总分。 **【数据范围】** - $2\leq N\leq 100$ - $1\leq M\leq 100$ - $500\leq A_i\leq 2500$ - $A_i$ 是 $100$ 的倍数。 - $S_i$ 是一个长度为 $M$ 的由 $o$ 和 $x$ 组成的字符串。 - $S_i$ 至少包含一个 $x$。 - 输入中的所有数值都是整数。 ## 题目来源 ABC323C ## 题目背景 世界巡回赛决赛(World Tour Finals)是一项重要的网球赛事,该赛事汇聚了世界各地排名靠前的网球选手,是赛季结束前的一场盛大比赛。在这项赛事中,通常会采用圆桌赛制(Round-Robin Tournament)进行比赛。 在世界巡回赛决赛中,参与的选手会被分成几个小组,每个小组的选手将会互相比赛。通常情况下,小组内的比赛采用循环赛的方式进行,每个选手都要与小组内的其他选手进行比赛。根据比赛结果,选手将会得到相应的积分。