Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. #define LIMIT 100
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     unsigned int n, m, k, x, y, aux, smallest, upset = 0, diff_boy = 0, diff_girl = 0;
  11.     int b[LIMIT], g[LIMIT];
  12.     cin >> n >> m;
  13.     for (int i = 0; i < n; i++)
  14.         cin >> g[i];
  15.     for (int i = 0; i < m; i++)
  16.         cin >> b[i];
  17.     sort(b, b+m);
  18.     sort(g, g+n);
  19.     k = smallest = min(m, n);
  20.     for (int i = 0; i < n-k; i++)
  21.         diff_girl += g[i];
  22.     for (int i = 0; i < m-k; i++)
  23.         diff_boy += b[i];
  24.     upset = smallest * diff_boy;
  25.     if (n < m)
  26.         for (x = n-smallest, y = m-smallest; x < n, y < m; x++, y++)
  27.         {
  28.             aux = (k-1) * (diff_boy + b[y]) + (diff_girl + g[x]);
  29.             if (aux <= upset)
  30.             {
  31.                 k--;
  32.                 upset = aux;
  33.                 diff_boy  += b[y];
  34.                 diff_girl += g[x];
  35.             }
  36.         }  
  37.     else
  38.         upset = diff_girl;
  39.     cout << upset << endl;
  40.     return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement