#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(int i=0;i> N; vector

M(N+1); M[0]=P(0,0); for(i=1;i<=N;i++) cin >> M[i].first >> M[i].second; sort(M.begin(),M.end()); vector

MM=M; for(i=1;i<=N;i++){ if(M[i-1].second<=M[i].first ){ dp[i][1]=max(dp[i-1][0]+1,dp[i-1][1]+1); } else if(MM[i-1].second<=MM[i].first ){ dp[i][1]=dp[i-1][0]+1; } else{ dp[i][0]=max(dp[i-1][0],dp[i-1][1]); MM[i].second=min(M[i-1].second,MM[i-1].second); } } cout << N-max(dp[N][0],dp[N][1]) << endl; return 0; }