1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,m,i,j,ans; multiset<int>s;//multiset维护上次攻击时间最近的豌豆射手 struct zombie{ int l,r; }z[200001]; bool cmp(zombie x,zombie y){ return x.r<y.r; } int main(){ multiset<int>::iterator it; scanf("%d%d",&n,&m); if(m>=n){ printf("0"); return 0; } for(i=1;i<=n;i++) scanf("%d%d",&z[i].l,&z[i].r); sort(z+1,z+1+n,cmp); for(i=1;i<=n;i++){ it=s.upper_bound(z[i].l); if(it!=s.begin()){ it--; s.erase(it); s.insert(z[i].r); } else{ if(s.size()+1>m)//打不死的情况 ans++; else s.insert(z[i].r); } } printf("%d",ans); return 0; }
- 1
信息
- ID
- 88
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- 递交数
- 238
- 已通过
- 14
- 上传者