比赛 20211014 评测结果 AAWWWAAAAA
题目名称 平凡的题面 最终得分 70
用户昵称 瞻远Daniel 运行时间 0.397 s
代码语言 C++ 内存使用 3.21 MiB
提交时间 2021-10-14 21:58:40
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=100000;
int n,m,len[N+4],l[N+4],r[N+4];
int ans,s[N+4],e[N+4],v[N+4];
/*
void dfs(int x)
{
    int i;
    for(i=1;i<=m;i++)
    {
   
    }
}
*/
int main()
{
    freopen("bg.in","r",stdin);
    freopen("bg.out","w",stdout);
    int i,j=1,a=0,temp=0;
    cin>>n>>m;
    for(i=1;i<=n;i++)
    {
        cin>>len[i];
        v[len[i]]=1;
    }
    sort(len+1,len+n+1);
    for(i=1;i<=N;i++)
    {
//        v[len[i]]+=v[len[i]-1]+1;
        v[i]+=v[i-1];
    }
    for(i=1;i<=m;i++)
    {
        cin>>l[i]>>r[i];
        if(v[r[i]]-v[l[i]-1])
        {
            ++s[l[i]];
            --e[r[i]+1];
        }
    }
    for(i=1;i<=len[n];i++)
    {
        a=a+s[i]+e[i];
        temp+=e[i];
        if(temp<0) temp=0;
//        cout<<s[i]<<' ';
//        cout<<temp<<' '<<a<<endl;  
//        /*
        while(len[j]==i)
        {
//            cout<<i<<endl;
            if(a-temp>0)
            {
                ans++;
                temp++;
            }
            j++;
        }
        if(j>n)
        {
            cout<<ans<<endl;
            return 0;
        }
//        */
        
    }
//    cout<<endl;
    /*
    for(i=1;i<=n;i++)
    {
        cout<<len[i]<<' ';
    }
    cout<<endl;
    for(i=1;i<=10;i++)
    {
        cout<<s[i]<<' ';
    }
    */
    cout<<ans<<endl;
    return 0;
}