Submission #1319066

#TimeUsernameProblemLanguageResultExecution timeMemory
1319066noobsolver24Table Tennis (info1cup20_tabletennis)C++20
72 / 100
3106 ms363936 KiB
#include <bits/stdc++.h>
using namespace std;
// #define int long long
#define endl '\n'
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()

const int sz = 2e5 + 5, inf = 0 /*sonra deyis*/, mod = 1e9 + 7, lg = 21;

int a[sz];

void _(){
  int n, k;
  cin >> n >> k;
  for (int i = 1; i <= n + k; i++) {
    cin >> a[i];
  }
  unordered_map<int, int> mp;
  sort(a + 1, a + n + k + 1);
  for (int i = 1; i <= n + k; i++) {
    mp[a[i]] = i;
  }
  for (int i = 1; i <= k + 1; i++) {
    for (int j = n + k - (k + 1) + 1; j <= n + k; j++) {
      int sum = a[i] + a[j];
      vector<char> used(n + k + 1, 0);
      int ans = 0;
      vector<int> v;
      for (int r = 1; r <= n + k; r++) {
        int y = sum - a[r];
        if (mp[y]) {
          if (!used[mp[y]] and mp[y] != r) {
            ans += 2;
            used[mp[y]] = used[r] = 1;
            v.push_back(a[r]);
            v.push_back(y);
            if (v.size() == n) break;
          }
        }
      }
      if (ans == n) {
        sort(all(v));
        for (auto x : v) cout << x << ' ';
        cout << endl;
        return;
      }
    }
  }
}

signed main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int T = 1;
    // cin >> T;
    while (T--) _();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...