小兴的班上有n个人,他们总共要上m节课。每节课会进行一次点名,点名会随机选取ki个学生。如果这个学生没有到达,则会被记录一次“旷课”,每次“旷课”会导致该学生的平时分下降10点(下降到负数则视为0)。学生的最终成绩为平时成绩的40%加上期末考试成绩的60%。
本题的核心任务是根据学生的到课情况、点名情况和期末成绩计算出每个学生的最终成绩。首先,初始化每个学生的平时分为100,并根据每节课的点名情况扣减未到课的学生平时分。然后,根据学生的期末成绩和调整后的平时成绩,按照给定的加权公式计算最终成绩。最后,将所有学生按最终成绩从高到低排序,若成绩相同则按学生编号升序输出。
小兴的班上有n个人,他们总共要上m节课。每节课会有一次点名活动,第节课会随机选取ki个不同的学生进行点名,如果这个学生没有到达,则会被记录一次“旷课”。每个人起始的平时成绩为100,每次“旷课”会导致平时分下降10点(下降到负数则视为0)。
学生的最终成绩为平时成绩的40%加上期末考试成绩的60%。
现在小兴给你他们班上n个人每节课的上课情况以及期末考试成绩ai,请你按照最终成绩从大到小输出每个学生的编号以及他们的最终成绩(保留2位小数),如果最终成绩相同,则编号小的优先输出。
第一行两个整数n,m(1≤n≤1000,1≤m≤100)
第二行n个整数a(0≤ai≤100)
接下来n行每行m个整数表示bi,j∈{0,1},如果bi,j=0则表示第j个人没有参加第1节课,否则这节课参加了。
接下来m行,第i行先输入一个整数ki(0≤ki≤n)代表第i节课点名的人数,随后在同一行输入ki个互不相同的整数,表示点到的学生编号。
输出n行,按顺序输出每个人的编号、最终成绩(保留两位小数)。
输入
3 2
100 100 100
1 0
0 1
1 1
3 1 2 3
1 1
输出
3 100.00
1 96.00
2 96.00
第一节课对所有人进行了点名,其中第二位同学没有到场,平时分变为90分。
第二节课对第一名学生进行了点名,没有到场,平时分变为90分。
最终三个人成绩分别为[96,96,100]。
输入
7 3
64 33 32 98 49 18 88
0 1 0
0 0 0
0 0 1
0 1 0
0 0 0
1 0 1
0 0 1
2 1 2
0
2 1 2
输出
4 98.80
7 92.80
1 70.40
5 69.40
3 59.20
2 51.80
6 50.80