lina_os

Untitled

Oct 4th, 2025
16
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. using ll = long long;
  6. using ull = unsigned long long;
  7. using ld = long double;
  8. using vll = vector<ll>;
  9. using pll = pair<ll, ll>;
  10. using mll = map<ll,ll>;
  11. using sll = set<ll>;
  12. #define iv(v) for(auto &i:v) cin >> i
  13. #define ov(v) for(auto &i:v) cout << i << " "
  14. #define all(v) v.begin(), v.end()
  15. #define rall(v) v.rbegin(), v.rend()
  16. #define YES cout << "YES\n"
  17. #define NO  cout << "NO\n"
  18.  
  19. #define Bismillah ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  20.  
  21. const ll MOD = 1e9 + 7;
  22.  
  23. ll add(ll a, ll b) {return ((a % MOD) + (b % MOD)) % MOD;}
  24. ll mul(ll a, ll b) {return ((a % MOD) * (b % MOD)) % MOD;}
  25. ll sub(ll a, ll b) {return (((a - b) % MOD) + MOD) % MOD;}
  26. ll modExp(ll a, ll b) {
  27.     if (b <= 0) return 1;
  28.     ll ret = modExp(a * a % MOD, b / 2);
  29.     if (b % 2) ret = ret * a % MOD;
  30.     return ret;
  31. }
  32. ll inverse(ll b) {return modExp(b, MOD - 2);}
  33. ll divv(ll a, ll b) {return ((a % MOD) * (inverse(b) % MOD)) % MOD;}
  34.  
  35.  
  36.  
  37. void solve() {
  38.     ll n;
  39.     cin >> n;
  40.     vector<pair<ll,ll>>v(n);
  41.     ll rn=1;
  42.     set<pair<ll,ll>>s;
  43.     vll m(n);
  44.     for (int i=0; i<n; i++) {
  45.  
  46.         cin >> v[i].first >> v[i].second;
  47.     }
  48.     sort(all(v));
  49.     for (int i=0; i<n; i++) {
  50.         if (s.empty() || s.begin()->first>=v[i].first) {
  51.             m[i]=rn;
  52.             s.insert({v[i].second,rn});
  53.             rn++;
  54.         }
  55.         else {
  56.             m[i]=s.begin()->second;
  57.             s.erase(s.begin());
  58.             s.insert({v[i].second,m[i]});
  59.         }
  60.  
  61.     }
  62.     cout << rn-1 << endl;
  63.     ov(m);
  64. }
  65.  
  66. int main() {
  67.     Bismillah
  68.     ll t=1;
  69. //    cin >> t;
  70.     while (t--) {
  71.         solve();
  72.     }
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment