Submission #1317935

#TimeUsernameProblemLanguageResultExecution timeMemory
1317935ayazTable Tennis (info1cup20_tabletennis)C++20
0 / 100
40 ms5812 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

#define all(x) (x).begin(), (x).end()
#define isz(x) (int)(x.size())
#define int ll

const int sz = 500200, inf = 1000000000;

void run_case(int tc) {
  int n, k; cin >> n >> k;
  vector<int> a(n + k + 1);
  for (int i = 1; i <= n + k; i++) {
    cin >> a[i];
  }
  for (int l = 0; l <= k; l++) {
    for (int r = 0; r <= k; r++) {
      if (l + r > k) continue;
      // 4
      // 1 2 3 4 5 6 7 8 9 10
      int mn = a[l + 1], mx = a[n + k - r]; 
      vector<pair<int, int>> v;
      for (int i = l + 1; i <= n + k - r; i++) {
        if (isz(v) == n / 2) break;
        int target = mx + mn - a[i];
        auto j = lower_bound(a.begin() + i + 1, a.begin() + n + k - r + 1, target) - a.begin(); 
        if (j > n + k || a[j] != target) continue;
        v.push_back({i, j});
      }
      if (isz(v) == n / 2) {
        vector<int> ans;
        for (auto [x, y] : v) {
          ans.push_back(x);
          ans.push_back(y);
        }
        sort(all(ans));
        for (auto i : ans) {
          cout << i << ' ';
        }
        return;
      }
    }
  }
}
void precompute() {}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
#ifdef LOCAL
  // freopen("err.log", "w", stderr);
#endif
  precompute();
  int t = 1; // cin >> t;
  for (int tc = 1; tc <= t; tc++) run_case(tc);
}
#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...