#include<bits/stdc++.h>
using namespace std;
struct Student{
char s[21];
int solnum;
int grade;
}student[1005];
bool compare(const Student& a,const Student &b)
{
if(a.grade!=b.grade)
return a.grade>b.grade;
else
return strcmp(a.s,b.s);
}
int main()
{
int N;
while(scanf("%d",&N)!=EOF)
{
for(int i=1;i<=1000;i++)
student[i].grade=0;
if(N==0)
break;
int m,g,score[12],peonum=0;//peonum统计过线人数
scanf("%d%d",&m,&g);
for(int i=1;i<=m;i++)
scanf("%d",&score[i]);
for(int i=1;i<=N;i++)
{
scanf("%s %d",student[i].s,&student[i].solnum);
for(int j=1;j<=student[i].solnum;j++)
{
int k;
scanf("%d",&k);
student[i].grade+=score[k];
}
if(student[i].grade>=g)
peonum++;
}
sort(student+1,student+1+N,compare);
printf("%d\n",peonum);
for(int i=1;i<=peonum;i++)
printf("%s %d\n",student[i].s,student[i].grade);
}
return 0;
}
1037排名
最新推荐文章于 2021-10-13 23:20:42 发布