Submission #139734

#TimeUsernameProblemLanguageResultExecution timeMemory
139734mechfrog88Exhibition (JOI19_ho_t2)C++14
100 / 100
69 ms4248 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#pragma GCC optimize("unroll-loops,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
 
using namespace __gnu_pbds;
using namespace std;
 
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
 
typedef long long ll;
typedef long double ld;

struct pic{
    ll v,s;
    bool operator <(const pic& rhs) const{
        if (v == rhs.v){
            return s < rhs.s;
        }
        return v < rhs.v;
    }
};


vector <pic> arr;
vector <ll> frame;

ll ans = 0;
ll n,m;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> n >> m;
    arr.resize(n);
    for (int z=0;z<n;z++){
        cin >> arr[z].s >> arr[z].v;
    }
    frame.resize(m);
    for (int z=0;z<m;z++){
        cin >> frame[z];
    }
    sort(arr.rbegin(),arr.rend());
    sort(frame.rbegin(),frame.rend());
    ll i = 0;
    for (int z=0;z<m && i < n;z++,i++){
        while (i < n && arr[i].s > frame[z]){
            i++;
        }
        if (i < n) ans++;
    }
    cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...