제출 #1358834

#제출 시각아이디문제언어결과실행 시간메모리
1358834dragonrobotMatryoshka (JOI16_matryoshka)C++20
51 / 100
2094 ms5424 KiB
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define MOD 1000000007
#define endl "\n"
#define pb push_back
using namespace std;
bool cmp(const pair<int,int>& alpha,const pair<int,int>& beta)
{
    if(alpha.first!=beta.first)
        return alpha.first<beta.first;
    return alpha.second>beta.second;
}
void _()
{
    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,s;
        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.pb({r[i],h[i]});
        }
        if(v.empty())
        {
            cout<<0<<endl;
            continue;
        }
        sort(v.begin(),v.end(),cmp);
        for(auto & x:v)
        {
            s=x.second;
            auto it=upper_bound(ans.begin(),ans.end(),s,greater<int>());
            if(it==ans.end())
                ans.pb(s);
            else
                *it=s;
        }
        cout<<ans.size()<<endl;
    }

    return ;
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int testcases=1;
    //cin>>testcases;
    while (testcases--)
        _();

    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…