Submission #365313

#TimeUsernameProblemLanguageResultExecution timeMemory
365313l3nl3Exhibition (JOI19_ho_t2)C++17
0 / 100
3 ms492 KiB
#include <bits/stdc++.h>

#define int long long

using namespace std;

const int mxsz = 1234567;

int n, m, s[mxsz], v[mxsz], c[mxsz], an; 

bool cmp (int i, int j) {
    return c[i] > c[j]; 
}

bool comp (int i, int j) {
    if (s[i] == s[j]) {
        return v[i] < v[j];
    }
    return s[i] < s[j];
} 

int find (int x, int p) {
    while (p <= n+1 && s[p++] > x);
    return p - 1;
}

signed main() {
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        cin >> s[i] >> v[i];
    }
    for (int i = 1; i <= m; i++) {
        cin >> c[i];
    }
    sort(s + 1, s + n + 1, comp);
    sort(c + 1, c + m + 1, cmp);
    int po = 1, pos = 1;
    for (int i = 1; i <= m; i++) {
        pos = find(c[i], po);
        po = pos;
        if (po == n+1) {
            break;
        } po++, an++;
    } 
    cout << an;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...