比赛 |
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;
}