记录编号 584687 评测结果 AAAWWWWWWW
题目名称 梦境 最终得分 30
用户昵称 Gravatar黄天乐 是否通过 未通过
代码语言 C++ 运行时间 0.820 s
提交时间 2023-11-14 16:49:37 内存使用 2.52 MiB
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n,m;
const int MAXN=2e5+10;
struct lst{
    int l;
    int r;
}e[MAXN];
bool cmp(lst a,lst b){
    if(a.r==b.r)return a.l<b.l;
    else return a.r<b.r;
}
int a[MAXN];
int ans;
bool vis1[MAXN]; 
bool vis2[MAXN]; 
int main(){
    freopen("dream.in","r",stdin);
    freopen("dream.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>e[i].l>>e[i].r;
    sort(e+1,e+n+1,cmp);
    for(int i=1;i<=m;i++)cin>>a[i];
    sort(a+1,a+n+1);
    int h=1;
    for(int i=1;i<=n;i++){
        if((a[h]>=e[i].l)&&(a[h]<=e[i].r)){
            vis1[h]=1;
            vis2[i]=1;
            ans++;
            h++;
        }else {
            if(a[h]<e[i].l){
                while(a[h]<e[i].l&&h<=m)h++;
                if(h<=m){
                    ans++;
                    h++;
                    vis1[h]=1;
                    vis2[i]=1;
                }
            }
        }
    }
    h=1;
    for(int i=1;i<=n;i++){
        if(vis2[i])continue;
        if(h>m)break;
        if((a[h]>=e[i].l)&&(a[h]<=e[i].r)){
            if(!vis1[h])ans++;
        }
        h++;
    }
    cout<<ans<<endl;
    return 0;
}