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


557