Submission #1360852

#TimeUsernameProblemLanguageResultExecution timeMemory
1360852vjudge1Matryoshka (JOI16_matryoshka)C++20
51 / 100
2096 ms5400 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n,q;
    cin>>n>>q;

    vector<int> r(n), h(n);
    for(int i=0; i<n; i++)
        cin>>r[i]>>h[i];

    while(q--)
    {
        int a,b;
        cin>>a>>b;

        vector<int> ans;
        vector<pair<int,int>> v;

        for(int i=0; i<n; i++)
        {
            if(r[i]>=a && h[i]<=b)
                v.push_back({r[i], h[i]});
        }

        

        for(auto &x : v)
            x.second *= -1;

        sort(v.begin(), v.end());

        for(auto &x : v)
            x.second *= -1;

        for(auto &x : v)
        {
            int H = x.second;
            auto it = upper_bound(ans.begin(), ans.end(), H, greater<int>());
            if(it == ans.end())
                ans.push_back(H);
            else
                *it = H;
        }

        cout<<ans.size()<<endl;
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...