比赛 |
20170912 |
评测结果 |
AWWWWTTTTA |
题目名称 |
平凡的题面 |
最终得分 |
20 |
用户昵称 |
Fisher. |
运行时间 |
4.010 s |
代码语言 |
C++ |
内存使用 |
1.84 MiB |
提交时间 |
2017-09-12 19:31:55 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
inline int read(){
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-'0';c=getchar();}
return x*f;
}
const int maxn=100010;
int n,m;
int data[maxn];
struct qq{
int x,y;
inline bool operator <(const qq & a)const {
return x==a.x?y<a.y:x<a.x;
}
}q[maxn];
int vis[maxn];
int main(){
freopen("bg.in","r",stdin);
freopen("bg.out","w",stdout);
n=read();m=read();
for(int i=1;i<=n;i++)data[i]=read();
for(int i=1;i<=m;i++){
int x=read(),y=read();
q[i].x=min(x,y);
q[i].y=max(x,y);
}
sort(data+1,data+n+1);
sort(q+1,q+m+1);
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(vis[j])continue;
if(data[i]<=q[j].y&&data[i]>=q[j].x){
ans++;
vis[j]=1;
break;
}
}
}
printf("%d\n",ans);
return 0;
}