#54570: 拓樸排序那篇是錯的


11430533@stu.tshs.tp.edu.tw (一孝20周定樂)


這是lis

#include <bits/stdc++.h>
#define pii pair<int,int>
#define ff first
#define ss second
using namespace std;

bool cmp(pii &a,pii &b){
    if (a.ff != b.ff) return a.ff<b.ff;
    return a.ss>b.ss;
}

int main(void){
    ios::sync_with_stdio(0),cin.tie(0);
    
    int N;
    while (cin>>N){
        vector<int> lis;
        vector<pii> v(N);
        for (int i=0 ; i<N ; i++) cin>>v[i].ff>>v[i].ss;
        sort(v.begin(),v.end(),cmp);
        for (int i=0 ; i<N ; i++){
            auto it = lower_bound(lis.begin(),lis.end(),v[i].ss);
            if (it == lis.end()) lis.push_back(v[i].ss);
            else *it = v[i].ss;
        }
        cout<<lis.size()<<"\n";
    }
}