//hdu12306 排名(简单模拟)
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
using namespace std;
const int N=1010;
const int M=12;
int n,m,scomax;
int ansstu;
int tiscore[M];
struct node
{
string name;
int sum;
}numstu[N];
bool cmp(node a,node b)
{
return (a.sum>b.sum||a.sum==b.sum&&a.name<b.name);
}
int main()
{
while(cin>>n,n)
{
ansstu=0;
int nn,as;
cin>>m>>scomax;
for(int i=1;i<=m;i++)
{
cin>>tiscore[i];
}
for(int i=0;i<n;i++)
{
numstu[i].sum=0;
cin>>numstu[i].name>>nn;
for(int j=0;j<nn;j++)
{
cin>>as;
numstu[i].sum+=tiscore[as];
}
if(numstu[i].sum>=scomax)
{
ansstu++;
}
}
sort(numstu,numstu+n,cmp);
cout<<ansstu<<endl;
for(int i=0;i<ansstu;i++)
{
cout<<numstu[i].name<<" "<<numstu[i].sum<<endl;
}
}
return 0;
}
hdu12306 排名(简单模拟)
最新推荐文章于 2023-03-13 21:14:13 发布