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