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 }