比赛 2024暑期C班集训4 评测结果 AAAAAAAAAA
题目名称 梦境 最终得分 100
用户昵称 liuyiche 运行时间 0.388 s
代码语言 C++ 内存使用 1.88 MiB
提交时间 2024-07-04 08:33:37
显示代码纯文本
#include <bits/stdc++.h>  
                         
using namespace std;
         
int n, m, ans = 0; 

struct node
{
    int l;
    int r;
};
vector<node> v;
vector<int> q;

inline bool cmp(node a, node b)
{
    return a.l < b.l;
}
                      
int main()
{
    freopen("dream.in", "r", stdin);
    freopen("dream.out", "w", stdout);
        	
   	ios::sync_with_stdio(false);
   	cin.tie(0); cout.tie(0); 
        	
    cin >> n >> m;
    for(int i = 1; i <= n; ++i)
    {
        node a;
        cin >> a.l >> a.r;
        v.push_back(a);
    }
    for(int i = 0; i < m; ++i)
    {
        int a;
        cin >> a;
        q.push_back(a);
    }
    
    sort(q.begin(),q.end());
    sort(v.begin(),v.end(),cmp);
    
    int p = 0;
    priority_queue<int,vector<int>,greater<int> > que; 
    for(int i = 0; i < m; ++i)
    {
        for(; p < n; ++p)
        {
            if(v[p].l <= q[i])
                que.push(v[p].r);
            else
                break;
        }
        while(que.size() > 0 && que.top() < q[i])
            que.pop();
        if(que.size() > 0)
        {
            que.pop();
            ans++;
        }
    }
    cout << ans;
       	
    return 0;
}