Submission #529921

#TimeUsernameProblemLanguageResultExecution timeMemory
529921kevinExhibition (JOI19_ho_t2)C++17
100 / 100
108 ms9196 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define nl cout<<"\n"
#define all(x) x.begin(), x.end()
#define f first
#define s second
#define ca(v) for(auto i:v) cout<<i<<" ";

const int MOD = 1e9 + 7;

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    if (fopen("input.in", "r")) freopen("input.in", "r", stdin);
    int n, m; cin>>n>>m;
    vector<pair<int, int>> ar;
    for(int i=0; i<n; i++){
        int x, v;
        cin>>x>>v;
        ar.push_back({x, v});
    }
    vector<int> sz(m);
    for(int i=0; i<m; i++) cin>>sz[i];
    sort(all(ar));
    sort(all(sz));
    multiset<pair<int, int>> ms;
    for(auto p:ar) ms.insert({p.s, p.f});
    int ans = 0;
    int last = 2e9;
    for(int i=m-1; i>=0; i--){
        while(ar.size() && ar.back().f > sz[i]) {
            auto it = ms.find({ar.back().s, ar.back().f});
            if(it != ms.end()) ms.erase(it);
            ar.pop_back();
        }
        while(ms.size() && ms.rbegin()->f > last) ms.erase(--ms.end());
        if(ms.size()){
            ans++;
            last = ms.rbegin()->f;
            ms.erase(--ms.end());
        }
    }
    cout<<ans;
}

Compilation message (stderr)

joi2019_ho_t2.cpp: In function 'int main()':
joi2019_ho_t2.cpp:16:40: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     if (fopen("input.in", "r")) freopen("input.in", "r", stdin);
      |                                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...