Submission #717298

#TimeUsernameProblemLanguageResultExecution timeMemory
717298vjudge1Table Tennis (info1cup20_tabletennis)C++17
0 / 100
3045 ms273536 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int N = 20;
const ll INF = 1e12;

int n, k, a[N];

vector<int> ans;
void solve(int idx, int cnt1, ll c1, ll c2, int ignore) {
    if (idx == n + k)
    {
        if (ignore == k && c1 == c2)
        {
            for (int i : ans)
                cout << i << ' ';
            exit(0);
        }
        return;
    }
    if (ignore < k)
        solve(idx + 1, cnt1, c1, c2, ignore+1);
    ans.push_back(idx+1);
    if (cnt1 < n/2)
        solve(idx + 1, cnt1+1, c1+a[idx], c2, ignore);
    if ((idx-cnt1-ignore) < n/2)
        solve(idx + 1, cnt1, c1, c2+a[idx], ignore);
    ans.pop_back();
}

int main()
{
    cin >> n >> k;
    for (int i = 0; i < n+k; cin >> a[i++]);
    solve(0, 0, 0, 0, 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...