제출 #1160319

#제출 시각아이디문제언어결과실행 시간메모리
1160319c4c7u5Exhibition (JOI19_ho_t2)C++20
0 / 100
0 ms328 KiB
#include<bits/stdc++.h>
using namespace std;

int n, m, c[200005];
pair<int, int> s[200005];
vector<int> lis;


bool cmp(pair<int, int> x, pair<int, int> y) {
    if(x.first!=y.first) return x.first>y.first;
    return x.second < y.second;
}

int main() {
    ios::sync_with_stdio(0);cin.tie(0);
    cin >> n >> m;
    for(int i=0;i<n;i++) cin >> s[i].second >> s[i].first;
    for(int i=0;i<m;i++) cin >> c[i];
    sort(s, s+n);
    sort(c, c+m);
    
    lis.push_back(0);
    for(int i=n-1;i>=0;i--) {
        int pos = m - (lower_bound(c, c+m, s[i].second)-c);
        auto it = lower_bound(lis.begin(), lis.end(), pos);
        if(it!=lis.end()) *it = *prev(it)+1;
        else if(*prev(it)<m) lis.push_back(*prev(it)+1);
    }
    
    cout << lis.size()-1 << '\n';
    
    
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...