Submission #537375

#TimeUsernameProblemLanguageResultExecution timeMemory
537375kawaiiExhibition (JOI19_ho_t2)C++14
0 / 100
0 ms212 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

int t, n, m, mod = 1e9 + 7; 
mt19937_64 rng;

struct point{
    int s, h;
};

bool operator < (point a, point b){
    return a.h < b.h;
}

point a[1000005];
int b[1000005];  

void solve(){  
    int crr = 1;
    reverse(b + 1, b + m + 1);
    for(int i = 1; i <= n; i++){
        if(a[i].s <= b[crr]){
            crr++;
            if(crr == m + 1) break; 
        }
    }
    cout << crr - 1 <<" ";
}

signed main(){
    ios_base::sync_with_stdio(NULL); cin.tie(nullptr); cout.tie(nullptr);
    rng.seed((int)main ^ time(0));
    #ifdef Kawaii
        auto starttime = chrono::high_resolution_clock::now();
    #endif

    cin >> n >> m;
    for(int i = 1; i <= n; i++) cin >> a[i].s >> a[i].h; 
    for(int i = 1; i <= m; i++) cin >> b[i]; 
    sort(b + 1, b + m + 1);
    sort(a + 1, a + n + 1); 
    solve();

    #ifdef Kawaii
        auto endtime = chrono::high_resolution_clock::now();
        auto duration = chrono::duration_cast<chrono::milliseconds>(endtime - starttime).count(); 
        cout << "\n=====" << "\nUsed: " << duration << " ms\n";
    #endif
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...