Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <set>
- using namespace std;
- struct data{
- int a,b,no;
- bool operator < (const data & s)const{
- if(a==s.a&&b==s.b) return no>s.no;
- if(a==s.a) return b>s.b;
- return a<s.a;
- }
- }d[100005];
- int main(){
- ios::sync_with_stdio(false);
- int t,p,i,n,m;
- cin>>n>>m;
- set<data> team;
- for(i=1;i<=n;i++)
- d[i].no=i;
- while(m--){
- cin>>t>>p;
- if(t!=1&&!(d[t]<d[1])) team.erase(d[t]);
- d[t].b+=p;
- d[t].a++;
- if(t!=1&&!(d[t]<d[1])) team.insert(d[t]);
- if(t==1){
- while(!team.empty()&&*team.begin()<d[1])
- team.erase(team.begin());
- }
- cout<<team.size()+1<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement