Submission #499878

#TimeUsernameProblemLanguageResultExecution timeMemory
499878jesus_coconutTable Tennis (info1cup20_tabletennis)C++17
49 / 100
3025 ms5200 KiB
#include <bits/stdc++.h> #define pb push_back #define all(a) begin(a), end(a) using namespace std; int n, k; vector<int> v; vector<int> dif; void load() { cin >> n >> k; v.resize(n + k); for (auto &it : v) cin >> it; } vector<int> ans; bool solve(int l, int r) { if (l >= r) return false; ans.clear(); while (l < r) { int cl = dif[l+1]; int cr = dif[r]; while (cl != cr && l < r) { if (cl < cr) { l++; cl += dif[l+1]; } else { r--; cr += dif[r]; } } if (l >= r) break; if (cl == cr) { ans.pb(v[l]); ans.pb(v[r]); ++l; --r; } if (ans.size() == n) return true; } return false; } void solve() { for (int i = 0; i <= k; ++i) { for (int j = 0; j <= k - i; ++j) { if (solve(i, n + k - 1 - j)) { sort(all(ans)); for (auto &it: ans) cout << it << ' '; return; }; } } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); load(); sort(all(v)); dif.resize(size(v)); adjacent_difference(all(v), begin(dif)); solve(); return 0; }

Compilation message (stderr)

tabletennis.cpp: In function 'bool solve(int, int)':
tabletennis.cpp:38:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |   if (ans.size() == n) return true;
      |       ~~~~~~~~~~~^~~~
#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...