TakahiroNakamori

TakahiroNakamori

中森崇博(ナカモリタカヒロ)

12 /
04
2021
 

区間スケジューリング問題

問題

B – 区間スケジューリング問題
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技…

ポイント

  1. 区間スケジューリング問題。

コード例

#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll = long long;
using P = pair<int, int>;
#define rep(i, n) for(int i = 0; i < (n); ++i)
// const ll mod = 1000000007;
// const ll INF = 1LL << 60;
// const int INF = 1001001001;

int main() {
  int N;
  cin >> N;

  vector<P> work(N);
  rep(i, N) {
    int A, B;
    cin >> A >> B;
    work[i] = make_pair(B, A);
  }

  sort(work.begin(), work.end());
  int ans = 0;
  int last = 0;
  rep(i, N) {
    if(last < work[i].second) {
      last = work[i].first;
      ans++;
    }
  }

  cout << ans << endl;
  return 0;
}