Submission #1358567

#TimeUsernameProblemLanguageResultExecution timeMemory
1358567po_rag526Matryoshka (JOI16_matryoshka)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

#define endl '\n'
#define int int_fast64_t
#define ul uint_fast32_t
#define ll int_fast64_t
#define dll long double
#define ull uint_fast64_t
#define spektar this_thread::sleep_for(chrono::milliseconds(50))

ll log2floor(ull n){ return 63-__builtin_clzll(n); }

void solve(){
    int n,m;
    cin >> n >> m;
    vector<array<int,2>> k(n);
    for(auto& [a,b]:k) cin >> a >> b;
    sort(k.begin(),k.end());
    for(int i=0; i<m; i++){
        int a,b;
        cin >> a >> b;
        multiset<array<int,2>> V;
        vector<array<int,2>> kkk;
        for(int j=0; j<n; j++){
            if(k[j][0]>=a && k[j][1]<=b){
                V.insert(k[j]);
                kkk.push_back(k[j]);
            }
        }
        sort(kkk.begin(),kkk.end());
        map<array<int,2>,int> idx;
        for(int j=0; j<kkk.size(); j++){
            idx[kkk[j]]=j;
        }
        map<int,int> kk;
        vector<bool> used(kkk.size());
        for(int j=0; j<kkk.size(); j++){
            kk[j]=-1;
            for(int r=j+1; j<kkk.size(); r++){
                if(used[r]) continue;
                if(kkk[r][0]>kkk[j][0] && kkk[r][1]>kkk[j][1]){
                    used[r]=true;
                    kk[j]=r;
                    break;
                }
            }
        }
        int s=0;
        while(V.size()){
            auto it=V.begin();
            if(kk[idx[*it]]==-1){
                V.erase(it);
                s++;
                continue;
            }
            V.erase(it);
        }
        cout << s << endl;
    }
}

signed main(){
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    int t=1;
    //cin >> t;
    while(t--){
        solve();
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...