Submission #1145110

#TimeUsernameProblemLanguageResultExecution timeMemory
1145110AgageldiTable Tennis (info1cup20_tabletennis)C++20
0 / 100
3095 ms18452 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define N 6000005 #define pb push_back #define ff first #define ss second #define all(x) x.begin(),x.end() #define sz(s) (int)s.size() #define pii pair<int,int> ll T, n, t, k, sum, b[N], c[N]; pair <int,int> a[N]; vector <int> v; void find(int x,int cnt) { if(cnt > sz(v) / 2) return; if(cnt == sz(v)/2) { ll p = 0; for(int i = 1; i <= sz(v); i++){ if(c[i]) p += a[v[i - 1]].ff; } if(p == sum / 2) { for(auto i : v) { cout << a[i].ss<<" "; } exit(0); } return; } if(x == sz(v) + 1) return; c[x] = 1; find(x+1,cnt+1); c[x] = 0; find(x+1,cnt); } void solve(int x,int cnt) { if(cnt > n) return; if(cnt == n) { sum = 0; v.clear(); for(int i = 1; i <= n + k; i++) { if(b[i]) { v.pb(i); sum += a[i].ff; } } find(1,0); for(int i = 1; i <= n + k; i++) { c[i] = 0; } return; } if(x == n + k + 1) return; b[x] = 1; solve(x+1,cnt + 1); b[x] = 0; solve(x+1,cnt); } int main () { ios::sync_with_stdio(0);cin.tie(0); cin >> n >> k; for(int i = 1; i <= n + k; i++) { cin >> a[i].ff; a[i].ss = i; } solve(1,0); }
#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...