제출 #667640

#제출 시각아이디문제언어결과실행 시간메모리
667640ThegeekKnight16Table Tennis (info1cup20_tabletennis)C++14
0 / 100
3075 ms19016 KiB
    #include <bits/stdc++.h>
    using namespace std;
    const int MAXN = 15e4 + 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];
        if (K == 0)
        {
            for (int i = 1; i <= N; i++) cout << v[i] << " ";
            return 0;
        }
        bt(1, N, K, 0, 0, 0, 0, 0);
        if (!FoundResp) {cerr << "BABAVAVAABCABC"; return 1;}
        bool DaSpace = false;
        for (int i = 1; i <= N+K; i++)
        {
            if (resp[i])
            {
                if (DaSpace) cout << " ";
                DaSpace = true;
                cout << v[i];
            }
        }
    }
#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...