亲测93分,数据太水了吧
#include<bits/stdc++.h>
using namespace std;
int n,l;
struct node{
int d,c,s[1005];
}m[25];
bool cmp(node a,node b){
return a.d>b.d;
}
int main(){
cin>>n>>l;
bool f=0;
for(int i=1;i<=n;++i){
cin>>m[i].d>>m[i].c;
for(int j=1;j<=m[i].c;++j){
cin>>m[i].s[j];if(!m[i].s[j])f=1;
}
}
if(!f){
cout<<-1;return 0;
}
sort(m+1,m+n+1,cmp);
int sum=0;
for(int i=1;i<=n;++i){
sum+=m[i].d;
if(sum>=l){
cout<<i<<endl;
return 0;
}
}
cout<<-1;
return 0;
}