#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct student{
char name[25];
int mark;
};
bool cmp(student i,student b){
int j;
if(i.mark==b.mark){
/*for(j=0;i.name[j]!='\0' || b.name[j]!='\0';j++){
if(i.name[j]!=b.name[j]) return i.name[j]<b.name[j];
}*/
return strcmp(i.name,b.name)<0;
}
else return i.mark>b.mark;
}
int a[15]; // the mark of each problem
int main(){
int g,n,m;
int ans; //the num of pass
int i;
string s;
while(scanf("%d",&n) && n!=0){
ans=0;
student stu[1005];
scanf("%d%d",&m,&g);
for(i=1;i<=m;i++) scanf("%d",&a[i]);
for(i=1;i<=n;i++){
int k; //the num of solved
int b; //the index of problem
scanf("%s",stu[i].name);
//stu[i].name=s;
scanf("%d",&k);
stu[i].mark=0;
while(k--){
scanf("%d",&b);
stu[i].mark+=a[b];
}
if(stu[i].mark>=g) ans++;
}
//int t;
sort(stu+1,stu+n+1,cmp);
/*for(i=1;stu[i].mark>=g;i++);
t=i;
ans=i-1;*/
printf("%d\n",ans);
for(i=1;stu[i].mark>=g && i<n;i++){
printf("%s %d\n",stu[i].name,stu[i].mark);
}
}
return 0;
}
hdu1236
最新推荐文章于 2020-04-30 19:38:19 发布