不知道哪里写错了VS2012上能运行处结果 但OJ上有问题
#include
#include
#include
using namespace std;
struct Node
{
string id;
int m,a[10],gread;
}array[1000];
bool cmp(Node a,Node b)
{
if(a.gread!=b.gread)
return a.gread>b.gread;
else
return a.id
}
int main()
{
int N,M,G,b[10];
while((cin>>N)&&N!=0)
{
cin>>M>>G;
for (int i = 0; i < M; i++)
{
cin>>b[i];
}
for (int j = 0; j < N; j++)
{
cin>>array[j].id>>array[j].m;
array[j].gread=0;
for (int k = 0; k < array[j].m; k++)
{
cin>>array[j].a[k];
array[j].gread+=b[array[j].a[k]-1];
}
}
std::sort(array,array+N,cmp);
int l=0;
while(array[l].gread>=G)
{
l++;
}
cout<<l<<endl;
for(int i=0;i<l;i++)
{
cout<<array[i].id<<' '<<array[i].gread<<endl;
}
}
return 0;
}