41(multiset)

 1 #include <iostream>
 2 #include <set>
 3 #include <cstdio>
 4 using namespace std;
 5 bool wasAdd[100001];
 6 
 7 int main(){
 8     multiset<int> mset;
 9     int n,x;string order;
10     scanf("%d",&n);
11     while(n --){
12         cin >> order >> x;
13         if(order == "add"){
14             mset.insert(x);
15             wasAdd[x] = true;
16             printf("%d\n",mset.count(x));
17         }
18         else if(order == "del"){
19             printf("%d\n",mset.erase(x));    
20         }
21         else{ //ask
22             int t = wasAdd[x] == false ? 0 : 1;
23             printf("%d ",t); 
24             if(t == 1)  printf("%d\n",mset.count(x));
25             else        printf("0\n");
26         }
27     }
28     return 0;
29 }

 

 1 #include <iostream>
 2 #include <set>
 3 #include <cstdio>
 4 using namespace std;
 5 
 6 int main(){
 7     multiset<int> mset;
 8     set<int> set2;
 9     int n,x;string order;
10     scanf("%d",&n);
11     while(n --){
12         cin >> order >> x;
13         switch(order[1]){
14             case 'd':
15                 mset.insert(x);
16                 set2.insert(x);
17                 printf("%d\n",mset.count(x));
18                 break;
19             case 'e':
20                 printf("%d\n",mset.erase(x));
21                 break;
22             case 's':
23                 int t = set2.find(x) == set2.end() ? 0 : 1;
24                 printf("%d ",t); 
25                 if(t == 1)  printf("%d\n",mset.count(x));
26                 else        printf("0\n");
27                 break;
28         }
29     }
30     return 0;
31 }

 

posted @ 2022-11-23 20:27  balabalahhh  阅读(81)  评论(0编辑  收藏  举报