제출 #1358537

#제출 시각아이디문제언어결과실행 시간메모리
1358537vjudge1Matryoshka (JOI16_matryoshka)C++20
11 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

// #pragma GCC optimize("Ofast")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma")
// #pragma GCC optimize("unroll-loops")

#define ll long long
// #define int long long
#define F first
#define S second
void solve()
{
  int n,m;
  cin>>n>>m;
  vector<pair<int,int>>q;
  for(int i = 0;i<n;i++){
    int x,y;
    cin>>x>>y;
    q.push_back({x,y});
  }

  while(m--){
    int x,y;
    cin>>x>>y;
    vector<pair<int,int>>f;
    for(int i = 0;i<n;i++){
      if(x<=q[i].F && y>=q[i].S){
        f.push_back(q[i]);
      }
    }
    sort(f.rbegin(),f.rend());

    multiset<pair<int,int>>qq;

    for(int i = 0;i<f.size();i++){
      pair<int,int>t;
      bool y = false;
      for(auto [l,r]:qq){
        if(l>f[i].F && r>f[i].S){
          t = {l,r};
          y = true;
          break;
        }
      }
      if(y){
        qq.erase(qq.find(t));
      }
      qq.insert({f[i].F,f[i].S});
    }
    cout<<qq.size()<<endl;
  }
}

signed main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  // cin >> t;
  while (t--)
  {
    solve();
  }
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...