競技プログラミング日記

主に AtCoder の記事です

AtCoder Beginner Contest 310B

ABC310B

問題文通りに実装.

別解: ソート済みの 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;
}