Advertisement
TAImatem

Аврора Интенсив день1

Nov 21st, 2022 (edited)
728
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.89 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #define _USE_MATH_DEFINES
  3. #include "stdio.h"
  4. #include "stdlib.h"
  5. #include "time.h"
  6. #include <cmath>
  7. #include <math.h>
  8. #include <algorithm>
  9. #include <map>
  10. #include <vector>
  11. #include <utility>
  12. #include <set>
  13. #include <string>
  14. #include <cstring>
  15. #include <iostream>
  16. #include <fstream>
  17. #include <unordered_map>
  18. #include <unordered_set>
  19. #include <queue>
  20. #include <bitset>
  21. #include <cassert>
  22. #include <functional>
  23. //#include <intrin.h>
  24. #include <stack>
  25. #include <thread>
  26. using namespace std;
  27. //typedef long long ll;
  28. #define ll long long
  29. #define ld long double
  30.  
  31. const long long mod = 1000000007;
  32.  
  33. #define MIN(x,y) ((x)<(y)?(x):(y))
  34. #define MAX(x,y) ((x)>(y)?(x):(y))
  35. #define PI 3.14159265358979323846
  36. #define ABS(a) ((a)<0?-(a):(a))
  37. template <typename T> inline T gcd(T a, T b) {
  38.     while (b) { a %= b; swap(a, b); }
  39.     return a;
  40. }
  41. long long fastpow(long long a, long long n)
  42. {
  43.     auto mult = a;
  44.     long long res = 1;
  45.     while (n)
  46.     {
  47.         if (n & 1)
  48.             res *= mult;
  49.         mult *= mult;
  50.         n >>= 1;
  51.     }
  52.     return res;
  53. }
  54.  
  55. void InsertSort(vector<int>& v)
  56. {
  57.     for (int i = 0; i < v.size() - 1; i++)
  58.         for (int j = i + 1; j < v.size(); j++)
  59.             if (v[j] < v[i])
  60.                 swap(v[i], v[j]);
  61. }
  62.  
  63. void BubbleSort(vector<int>& v)
  64. {
  65.     for (int i = v.size() - 1; i >= 0; i--)
  66.     {
  67.         bool finish = true;
  68.         for (int j = 0; j < i; j++)
  69.             if (v[j] < v[j + 1])
  70.             {
  71.                 swap(v[j], v[j + 1]);
  72.                 finish = false;
  73.             }
  74.         if (finish)
  75.             break;
  76.     }
  77. }
  78.  
  79. void QSort(vector<int>& v, int l, int r)
  80. {
  81.     if (r - l < 1)
  82.         return;
  83.     int ci = (l + r) / 2;// или l + rand()%(r-l)
  84.     int c = v[ci];
  85.     int tl = l, tr = r;
  86.     while (tr > tl)
  87.     {
  88.         while (v[tr] > c) tr--;
  89.         while (v[tl] < c) tl++;
  90.         if (tr <= tl)
  91.             break;
  92.         swap(v[tl], v[tr]);
  93.         if (tl == ci)
  94.         {
  95.             ci = tr;
  96.             tr++;
  97.         }
  98.         else if (tr == ci)
  99.         {
  100.             ci = tl;
  101.             tl--;
  102.         }
  103.         tr--;
  104.         tl++;
  105.     }
  106.     QSort(v, l, ci - 1);
  107.     QSort(v, ci + 1, r);
  108. }
  109.  
  110. void QSortStart(vector<int>& v)
  111. {
  112.     QSort(v, 0, v.size() - 1);
  113. }
  114.  
  115. void MSort(vector<int>& src, vector<int>& dest, int l, int r)
  116. {
  117.     if (r - l < 1)
  118.         return;
  119.     int m = (l + r) / 2;
  120.     MSort(dest, src, l, m);
  121.     MSort(dest, src, m + 1, r);
  122.     int tm = m;
  123.     m++;
  124.     for (int i = l; i <= r;)
  125.     {
  126.         while (l <= tm && (m > r || src[l] <= src[m]))
  127.         {
  128.             dest[i] = src[l];
  129.             i++;
  130.             l++;
  131.         }
  132.         while (m <= r && (l > tm || src[m] < src[l]))
  133.         {
  134.             dest[i] = src[m];
  135.             i++;
  136.             m++;
  137.         }
  138.     }
  139. }
  140.  
  141. void MSortStart(vector<int>& v)
  142. {
  143.     vector<int> copy(v);
  144.     MSort(copy, v, 0, v.size() - 1);
  145. }
  146.  
  147. int main() {
  148. #ifdef DEBUG
  149.     freopen("input.txt", "r", stdin);
  150.     //freopen("output.txt", "w", stdout);
  151. #endif
  152.     int n;
  153.     cin >> n;
  154.     std::vector<int> as(n), bs(n);
  155.     for (auto& a : as)
  156.         cin >> a;
  157.  
  158.     for (auto& a : bs)
  159.         cin >> a;
  160.     InsertSort(as);
  161.     InsertSort(bs);
  162.     int ans = 0;
  163.     for (int i = 0; i < n; i++)
  164.     {
  165.         ans += abs(as[i] - bs[i]);
  166.     }
  167.     cout << ans << endl;
  168.     return 0;
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement