fork(1) download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4. set<int>f[7];
  5. set<int>::iterator it;
  6. set<int>::iterator ite;
  7. int main(){
  8. int n,m,i,a,b,ans = 0;
  9. cin >> n >> m;
  10. for(i = 1;i <= n;i++){
  11. cin >> a >> b;
  12. for(ite = f[a].begin();ite != f[a].end();ite++){
  13. cout << *ite << endl;
  14. }
  15. if(f[a].empty() == true){
  16. if(b == 4) cout << *it << endl << endl << endl;
  17. ans++;
  18. f[a].insert(b);
  19. continue;
  20. }
  21. it = f[a].end();
  22. for(ite = f[a].begin();ite != f[a].end();ite++){
  23. cout << *ite << endl;
  24. }
  25. cout << *it;
  26. if(*it < b){
  27. if(b == 4) cout << *it << b << endl << endl << endl;
  28. f[a].insert(b);
  29. ans++;
  30. continue;
  31. }
  32. if(*it == b){
  33. if(b == 4) cout << *it << endl << endl << endl << endl;
  34. continue;
  35. }
  36. it = f[a].upper_bound(b);
  37. cout << *it;
  38. for(ite = f[a].end();ite != it;ite--){
  39. f[a].erase(ite);
  40. ans++;
  41. }
  42. f[a].erase(it,f[a].end());
  43. if(f[a].empty() == true){
  44. ans++;
  45. f[a].insert(b);
  46. continue;
  47. }
  48. it = f[a].end();
  49. if(*it == b){
  50. continue;
  51. }
  52. ans++;
  53. f[a].insert(b);
  54. }
  55. cout << ans
  56. ;
  57. }
Success #stdin #stdout 0.01s 5288KB
stdin
7 15
1 5 
2 3 
2 5 
2 7 
2 4 
1 5 
1 3 
stdout
3
3
13
5
3
5
23
5
7
3
5
7
334


5
5
15
5
17