Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- //слишком сложно юзать комментарии
- using namespace std;
- typedef pair<int, int> pint;
- typedef long long li;
- const int N = int(1e9) + 5;
- const long long INF = 1e18 + 5;
- const int MAXN = 1005;
- int main() {
- li n, m;
- cin >> n;
- vector<pair<li, li>> a(n);
- li sum1 = 0ll, sum2 = 0ll;
- for (int i = 0; i < n; i++) {
- cin >> a[i].first;
- a[i].second = i + 1;
- sum1 += a[i].first;
- }
- cin >> m;
- vector<pair<li, li>> b(m);
- for (int i = 0; i < m; i++) {
- cin >> b[i].first;
- b[i].second = i + 1;
- sum2 += b[i].first;
- }
- sort(a.begin(), a.end());
- sort(b.begin(), b.end());
- vector<pair<li, li>> ans;
- for (int i = 0; i < 2, i < min(max(1ll, n / 2), max(1ll, m / 2)); i++) {
- if (a[n - i - 1].first - b[0].first > b[n - i - 1].first - a[0].first) {
- ans.push_back(make_pair(a[n - i - 1].second, b[i].second));
- sum1 += b[i].first - a[n - i - 1].first;
- sum2 += a[n - i - 1].first - b[i].first;
- } else {
- ans.push_back(make_pair(b[n - i - 1].second, a[i].second));
- sum2 += a[i].first - b[n - i - 1].first;
- sum1 += b[n - i - 1].first - a[i].first;
- }
- }
- cout << abs(sum1 - sum2) << endl;
- cout << ans.size() << endl;
- for (int i = 0; i < ans.size(); i++) {
- cout << ans[i].first << ' ' << ans[i].second << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement