#P2503. 勇争第一

勇争第一

题目描述

假设有 NN 名学生和 MM 个问题,每个问题的分数范围在 50050025002500 之间,是 100100 的倍数。每个学生都有一个表示已解决问题的字符串 SS,其中 o 表示已解决,x 表示未解决。每个学生的总分数是已解决问题的分数之和再加上他的编号。问题是:对于每个学生 ii,至少需要再解决多少未解决问题,才能在总分数上变成当下的第一名?

输入格式

第一行,两个整数,表示 NN 个学生和 MM 个问题。1N,M1001 \le N, M \le 100

第二行,MM 个整数,表示每个问题的分数。

第三行至 N+2N+2 行,每行 NN 个字符,表示每个学生 ii 完成对应题目的情况,其中 o 表示已解决,x 表示未解决。

输出格式

NN 行,每行一个整数,表示在总分数上变成当下的第一名至少需要完成的题目数量。

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