Advertisement
trungore10

Untitled

Nov 13th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define int long long
  3. #define FOR(i, a, b) for (int i = a; i <= (int) b; ++i)
  4. #define FORD(i, a, b) for (int i = a; i >= (int) b; --i)
  5. #define REP(i, a, b) for (int i = a; i < (int) b; ++i)
  6. using namespace std;
  7.  
  8. typedef pair<int, int> ii;
  9.  
  10. const int N = 2e5 + 4;
  11. int k[5], a[5][N], n, Pos[N], cost[N], best[N], dem[N];
  12.  
  13. void sol() {
  14. FORD(i, n, 1) {
  15. cost[i] = cost[i+1];
  16. if (Pos[i] == 2) cost[i]++;
  17. }
  18.  
  19. int cur = 0;
  20. FOR(i, 1, n+1) {
  21. cost[i] += cur;
  22. if (Pos[i] == 3) cur++;
  23. }
  24.  
  25. best[n+1] = cost[n+1];
  26. FORD(i, n, 1) best[i] = min(best[i+1], cost[i]);
  27.  
  28. FORD(i, n, 1) dem[i] = dem[i+1] + (Pos[i] == 1);
  29.  
  30. int ans = (int) 1e9 + 7, res = 0;
  31. FOR(i, 0, n) {
  32. if (Pos[i] == 2) res++;
  33. ans = min( ans, res + dem[i+1] + best[i+1] );
  34. }
  35. cout << ans << '\n';
  36. }
  37.  
  38. #undef int
  39. int main() {
  40. #define int long long
  41. ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  42. if (fopen("input.txt", "r")) {
  43. freopen("input.txt", "r", stdin);
  44. freopen("output.txt", "w", stdout);
  45. }
  46.  
  47. cin >> k[1] >> k[2] >> k[3];
  48. n = k[1] + k[2] + k[3];
  49.  
  50. FOR(id, 1, 3) FOR(i, 1, k[id]) {
  51. cin >> a[id][i];
  52. Pos[ a[id][i] ] = id;
  53. }
  54.  
  55. sol();
  56.  
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement