Submission #667588

#TimeUsernameProblemLanguageResultExecution timeMemory
667588ThegeekKnight16Table Tennis (info1cup20_tabletennis)C++17
0 / 100
3096 ms19028 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 1.5e5 + 10; int atual[MAXN]; int v[MAXN]; int resp[MAXN]; bool FoundResp = false; void bt(int id, int N, int K, int g1, int g2, int nG, int sG1, int sG2) { if (g1 > (N / 2) || g2 > (N / 2) || nG > K) return; if (FoundResp) return; if (id == N+K+1) { if (g1 != (N / 2) || g2 != (N / 2)) return; if (sG1 != sG2) return; for (int i = 1; i <= N + K; i++) resp[i] = atual[i]; FoundResp = true; return; } atual[id] = 1; bt(id+1, N, K, g1+1, g2, nG, sG1 + v[id], sG2); bt(id+1, N, K, g1, g2+1, nG, sG1, sG2 + v[id]); atual[id] = 0; bt(id+1, N, K, g1, g2, nG+1, sG1, sG2); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N, K; cin >> N >> K; for (int i = 1; i <= N + K; i++) cin >> v[i]; bt(1, N, K, 0, 0, 0, 0, 0); for (int i = 1; i <= N+K; i++) if (resp[i]) cout << v[i] << " "; cout << '\n'; }
#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...