問題文通りに実装.
別解: ソート済みの iterator 範囲 [l, r) に対して std::includes を使うと楽. set やソート済み vector 等に使える.
使っている記号,マクロ等 "https://ecsmtlir.hatenablog.com/entry/2022/12/23/131925"
int main() {
ll n, m ;
cin >> n >> m;
vll p(n), c(n);
vvll f(n);
rep(i,n){
cin >> p[i] >> c[i];
f[i].resize(c[i]);
rep(j,c[i]) {
cin >> f[i][j];
}
}
bool some = false;
rep(i,n) rep(j,n){
if(!(p[i]>=p[j])) continue;
bool any = true;
for(auto x: f[i]){
if(!in(x, f[j])) any = false;
}
if(!any) continue;
bool g;
g = p[i] > p[j];
bool so = false;
for(auto x: f[j]) if(!in(x,f[i])) so = true;
g |= so;
if(!g) continue;
some = true;
break;
}
yesno(some);
#ifdef _INPUT_
#endif
#ifdef _DEBUG_
#endif
return 0;
}