Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #define LIMIT 100
- using namespace std;
- int main()
- {
- unsigned int n, m, k, x, y, aux, smallest, upset = 0, diff_boy = 0, diff_girl = 0;
- int b[LIMIT], g[LIMIT];
- cin >> n >> m;
- for (int i = 0; i < n; i++)
- cin >> g[i];
- for (int i = 0; i < m; i++)
- cin >> b[i];
- sort(b, b+m);
- sort(g, g+n);
- k = smallest = min(m, n);
- for (int i = 0; i < n-k; i++)
- diff_girl += g[i];
- for (int i = 0; i < m-k; i++)
- diff_boy += b[i];
- upset = smallest * diff_boy;
- if (n < m)
- for (x = n-smallest, y = m-smallest; x < n, y < m; x++, y++)
- {
- aux = (k-1) * (diff_boy + b[y]) + (diff_girl + g[x]);
- if (aux <= upset)
- {
- k--;
- upset = aux;
- diff_boy += b[y];
- diff_girl += g[x];
- }
- }
- else
- upset = diff_girl;
- cout << upset << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement