添加链接描述
#include <algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
struct pla{
char number[22];
int sum;
}people[1010];
bool cmp(pla a,pla b)
{
if(a.sum!=b.sum)
return a.sum>b.sum;
else return strcmp(a.number,b.number)<0;
}
int main()
{
int M,N,O,i,q,add,t,h,k;
int fenzh[12];char number[22];
while (scanf("%d",&M),M)
{
memset(people,0,sizeof(people));
k=0;
scanf("%d %d",&N,&O);
for(i=1;i<=N;i++)
scanf("%d",&fenzh[i]);
for(i=1;i<=M;i++)
{
add=0;
getchar();
scanf("%s",number);
scanf("%d",&t);
for(q=1;q<=t;q++)
{
scanf("%d",&h);
add+=fenzh[h];
}
if(add>=O){
strcpy(people[k].number,number);
people[k].sum=add;
k++;
}
}
sort(people,people+k,cmp);
printf("%d\n",k);
for(i=0;i<k;i++)
printf("%s %d\n",people[i].number,people[i].sum);
}
return 0;
}