会场预约

xiaoxiao2021-02-28  132

找一个最小的r加进集合

#include <cstdio> #include <algorithm> #include<iostream> #define maxn 1000000 #include<set> using namespace std; int n; struct node{ int s,t; bool operator<(const node &v)const{ if(t==v.t) return s<v.s; return t<v.t; } }; set <node> c; int main() { scanf("%d",&n); set<node>::iterator w; for(int i=1;i<=n;i++) { char b;int s,t; cin>>b; if(b=='A') { scanf("%d%d",&s,&t); int cnt=0; while(1){ w=c.lower_bound((node){0,s}); if(w!=c.end()&&t>=w->s) { c.erase(w); cnt++; continue; } c.insert((node){s,t}); break; } printf("%d\n",cnt); } else printf("%d\n",c.size()); } }
转载请注明原文地址: https://www.6miu.com/read-35500.html

最新回复(0)