记录编号 |
205108 |
评测结果 |
AAAAAAAAAA |
题目名称 |
平凡的题面 |
最终得分 |
100 |
用户昵称 |
KZNS |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.549 s |
提交时间 |
2015-11-04 20:32:44 |
内存使用 |
0.31 MiB |
显示代码纯文本
// KZ's
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin ("bg.in");
ofstream fout ("bg.out");
///////
class poi {
public:
int l,r;
};
bool operator < (poi a,poi b) {
if (a.l==b.l)
return a.r<b.r;
return a.l<b.l;
}
///////
int n,m;
vector <int> p;
vector <poi> cp;
multiset<int,less<int> > pq;
///////
void rin() {
fin>>n>>m;
int a,b;
poi uuu;
for (int i=0;i<n;i++) {
fin>>a;
p.push_back(a);
}
for (int i=0;i<m;i++) {
fin>>a>>b;
uuu.l=a;
uuu.r=b;
cp.push_back(uuu);
}
}
void work() {
sort(p.begin(),p.end());
sort(cp.begin(),cp.end());
int i=0,j=0,s=0;
while (i<p.size()&&j<cp.size()) {
if (p[i]<cp[j].l) {
if (pq.empty())
i++;
else
while (!pq.empty()) {
if (p[i]<=*pq.begin()) {
pq.erase(pq.begin());
i++;
s++;
break;
}
else {
pq.erase(pq.begin());
}
}
}
else {
pq.insert(cp[j].r);
j++;
}
}
while (!pq.empty()&&i<p.size()) {
if (p[i]<=*pq.begin()) {
pq.erase(pq.begin());
i++;
s++;
}
else {
pq.erase(pq.begin());
}
}
fout<<s<<endl;
}
/////////
int main() {
rin();
work();
return 0;
}
// UBWH