注意一点:当一个小组选择好一个旅馆时,此旅馆的房间数要对应减去小组人数。。。
#include"stdio.h"
#include"stdlib.h"
struct fun
{
int num,count,price;
}a[111];
int cmp(const void*a,const void *b)
{
struct fun *c,*d;
c=(struct fun*)a;
d=(struct fun*)b;
return c->price-d->price;
}
int main()
{
int t;
int n,i,flag,m,mm;
int tt;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d%d",&a[i].num,&a[i].count,&a[i].price);
qsort(a,n,sizeof(a[0]),cmp);
scanf("%d",&tt);
while(tt--)
{
scanf("%d",&m);
flag=0;
for(i=0;i<n;i++)
{
if(a[i].count>=m)
{
flag=1;mm=a[i].num;
a[i].count-=m;
break;
}
}
if(flag==0)
printf("sorry\n");
else
printf("%d\n",mm);
}
}
return 0;
}