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. }
  14. if(f[a].empty() == true){
  15. ans++;
  16. f[a].insert(b);
  17. continue;
  18. }
  19. if(*f[a].end() < b){
  20. if(b == 4) cout << *ite << b << endl << endl << endl;
  21. f[a].insert(b);
  22. ans++;
  23. continue;
  24. }
  25. if(*it == b){
  26. if(b == 4) cout << *it << endl << endl << endl << endl;
  27. continue;
  28. }
  29. it = f[a].upper_bound(b);
  30. cout << *it;
  31. for(ite = f[a].end();ite != it;ite--){
  32. f[a].erase(ite);
  33. ans++;
  34. }
  35. f[a].erase(it,f[a].end());
  36. if(f[a].empty() == true){
  37. ans++;
  38. f[a].insert(b);
  39. continue;
  40. }
  41. it = f[a].end();
  42. if(*it == b){
  43. continue;
  44. }
  45. ans++;
  46. f[a].insert(b);
  47. }
  48. cout << ans
  49. ;
  50. }
Success #stdin #stdout 0s 5396KB
stdin
7 15
1 5 
2 3 
2 5 
2 7 
2 4 
1 5 
1 3 
stdout
34


7