#include using namespace std; #ifdef LOCAL #include "../debug.h" #else #define dbg(...) #endif int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int N; cin >> N; vector L(N), R(N); for(int i = 0 ; i < N ; ++i) { cin >> L[i] >> R[i]; } vector dp(N + 1), ord(N); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [&](int i, int j) { return R[i] < R[j]; }); for(int i = 0 ; i < N ; ++i) { int lo = -1, hi = i + 1; while(hi - lo > 1) { int mid = (lo + hi) / 2; if(L[ord[i]] >= R[ord[mid]]) lo = mid; else hi = mid; } dp[i + 1] = max(dp[hi] + 1, dp[i]); } cout << N - dp[N] << '\n'; return 0; }