#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
struct message{
string name;
int score;
message():score(0){ };
bool operator<(const message b)const
{
return this->score==b.score?this->name<b.name:this->score>b.score;
}
};
int main()
{
int n,m,g;
vector<message> data;
while(cin>>n &&n!=0){
cin>>m>>g;
int count=0;
data.clear();
int arr[10]={0};
for(int i=0;i<m;++i){
cin>>arr[i];
}
for(int i=0;i<n;++i){
message temp;
cin>>temp.name;
int j;
cin>>j;
for(;j>0;j--){
int a;cin>>a;
temp.score+=arr[a-1];
}
if(temp.score>=g)count++;
data.push_back(temp);
}
sort(data.begin(),data.end());
cout<<count<<endl;
if(data.size()==1 &&(*data.begin()).score>=g){
cout<<(*data.begin()).name<<" "<<(*data.begin()).score<<endl;
}
for(auto it=data.begin();it!=data.end();++it){
if((*it).score>=g)cout<<(*it).name<<" "<<(*it).score<<endl;
}
}
return 0;
}
89.hdu--1236--排名
最新推荐文章于 2020-01-25 09:58:17 发布