记录编号 |
584719 |
评测结果 |
AAAAAAAAAA |
题目名称 |
梦境 |
最终得分 |
100 |
用户昵称 |
小金 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.847 s |
提交时间 |
2023-11-14 17:56:19 |
内存使用 |
3.09 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,ans=0;
struct mj{
long long l,r;
}a[200010];
long long b[200010];
priority_queue<long long> q;
bool cmp(mj x,mj y)
{
if(x.l==y.l)
{
return x.r<y.r;
}
else
{
return x.l<y.l;
}
}
int main()
{
freopen("dream.in","r",stdin);
freopen("dream.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i].l>>a[i].r;
}
for(int i=1;i<=m;i++)
{
cin>>b[i];
}
sort(a+1,a+n+1,cmp);
sort(b+1,b+m+1);
int t=1;
for(int i=1;i<=m;i++)
{
while(a[t].l<=b[i]&&t<=n)
{
q.push(-a[t].r);
t++;
}
while(q.size()&&-q.top()<b[i])
{
q.pop();
}
if(q.size())
{
ans++;
q.pop();
}
}
cout<<ans;
return 0;
}