1. 程式人生 > >考試排名(一)(結構體專題)

考試排名(一)(結構體專題)

3
CS003 60
CS001 37
CS004 37
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct zz
{
 int jj,qh,sum;
 char xh[22];
}a[101];
bool cmp(zz x,zz y)
{
 if(x.sum==y.sum)
  return strcmp(x.xh,y.xh)<0;
 return x.sum>y.sum;
}
int main(){
 int b[11];
 int n,m,g,i,j,k;
 while(scanf("%d%d%d",&n,&m,&g)!=EOF)
 {
  k=0;
  for(i=1;i<=m;i++)
   scanf("%d",&b[i]);
  for(i=1;i<=n;i++)
  {
   a[i].sum=0;
   scanf("%s %d",a[i].xh,&a[i].jj);
   for(j=1;j<=a[i].jj;j++)
   {
    scanf("%d",&a[j].qh);
    a[i].sum+=b[a[j].qh];
    
   }
   if(a[i].sum>=g)
    k++;
  }
  sort(a+1,a+n+1,cmp);
  printf("%d\n",k);
  for(i=1;i<=k-1;i++)
   printf("%s %d\n",a[i].xh,a[i].sum);//這塊較坑。。。
  printf("%s %d",a[k].xh,a[k].sum);
 }
 return 0;
}