Advertisement
tuki2501

bwpoints.cpp

Sep 7th, 2022
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.     if (fopen("in", "r")) {
  6.         freopen("in", "r", stdin);
  7.     }
  8.     cin.tie(0)->sync_with_stdio(0);
  9.     int n; cin >> n;
  10.     vector<pair<int,int>> a(n * 2 + 1);
  11.     for (int i = 1; i <= n; i++) {
  12.         cin >> a[i].first;
  13.         a[i].second = 1;
  14.     }
  15.     for (int i = n + 1; i <= n * 2; i++) {
  16.         cin >> a[i].first;
  17.         a[i].second = 0;
  18.     }
  19.     sort(a.begin() + 1, a.end());
  20.     vector<int> last(2, -1);
  21.     vector<int> dp(n * 2 + 1);
  22.     for (int i = 1; i <= n * 2; i++) {
  23.         int color = a[i].second;
  24.         dp[i] = dp[i - 1];
  25.         if (last[!color] != -1) {
  26.             dp[i] = max(dp[i], dp[last[!color] - 1] + 1);
  27.         }
  28.         last[color] = i;
  29.     }
  30.     cout << dp[n * 2] << '\n';
  31. }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement