2、寻找编程大赛TOP3的参赛选手
目前有n个选手(取值范围为[1,10000])参加编程大赛,m个评委(取信范围为[1,10]) 给每个选手都打分,分数为[0,100])内的整数。
对于任意选手而言,评委分数的权重分别为q1,q2,...,qm(1<=q1,q2,...,qm<=10,为整数),如果评委们给该选手的分数分别是s1,s2,...,sm,那么该选手最后得分为(q1 * s1+q2 * s2+...qm*sm)/(q1+q2,...+qm)(向下取整)。
寻找分数最高的top 3参赛选手编号。
按照分数从高到低排名,如果第i名出现多个分数一样的选手,那这些选手为并列topi选手,打印参赛选手编号时,需要在同一行从小到大分别打印出编号来,通过空格隔开。
给所有选手一个编号,编号从1开始,n个选手的编号为1,...,n
解答要求
时间限制:C/C++1000ms,其他语言:2000ms
内存限制:C/C++256M8,其他语言:512MB
输入
第一行为选手个数和评委个数,以空行隔开
第二行为各评委权重,以空格隔开
第二行为各评委给第一个选手的打分,
第三行为各评委给第二个选手的打分,依此类推
输出
第一行为TOP1的选手编号第二行为TOP2的选手编号第三行为TOP3的选手编号
如果没有TOP2或者TOP3,则不输出对应的编号.