fork download
  1. #include<iostream>
  2. #include<map>
  3. using namespace std;
  4. int main()
  5. {
  6. map <int,int> mymap;
  7. int n,a,b,m,x;
  8. cin>>n;
  9. for(int i=0;i<n;i++)
  10. {
  11. cin>>a>>b;
  12. mymap[a]=b;
  13. }
  14. cin>>m;
  15. char ch;
  16. while(m--)
  17. {
  18. cin>>ch;
  19. cin>>x;
  20. if(ch=='+')
  21. {
  22. bool flag=0;
  23. for(map <int,int>::iterator it=mymap.begin();it!=mymap.end();it++)
  24. {
  25. if(x==it->first)
  26. {mymap[x]++;flag=1;break;}
  27. }
  28. if(flag==0)
  29. mymap[x]=1;
  30. }
  31. else if(ch=='-')
  32. {
  33. mymap[x]--;
  34. }
  35. else {
  36. long long ans=0;
  37. map<int,int>::iterator i=mymap.begin();
  38. for(;i!=mymap.end();i++)
  39. {
  40. ans+=(x%i->first)*i->second;
  41. }
  42. cout<<ans<<endl;
  43. }
  44. }
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 3280KB
stdin
3
1 4
3 2
2 2
6
? 10
? 8
+ 4
? 9
- 2
? 8
stdout
2
4
3
4