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