C. Two TVs

  • Quiz
  • AC
  • 解説
    • editorialと違う解法だったので書いておく
    • 番組の終了と同時に新たな番組を見ることはできないので、右端を+1しておき、範囲(l, r)とする
    • 範囲をvectorに入れてソートする
    • 2つのTVがそれぞれ何分まで専有されているか(右端)を変数に持ちつつ、番組を挿入できるなら挿入して右端を更新し、全部入ればYES
int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);

    // input
    ll N; 
    cin>>N;
    
    vector<PII> V;
    rep(i,N){
      ll l,r;cin>>l>>r;
      r++;
      V.push_back({l,r});
    }
    sort(ALL(V));

    ll a=0;
    ll b=0;
    rep(i,N){
      ll l = V[i].first;
      ll r = V[i].second;
      if(a<=l){
        a=r;
      }
      else if(b<=l){
        b=r;
      }
      else{
        no();
      }
    }
    yes();
    
    return 0;
}