Untitled

 avatar
user_0483151
plain_text
20 days ago
1.2 kB
2
Indexable
// y.ha
#include <bits/stdc++.h>
#define cook '\n'
#define maxn
#define Task "CARIBE"
using namespace std;
struct D {
    long long w, v ;
};
vector<D> A,B;
int n;
long long k ;

void inp() {
    cin >> n >> k ;
    int hn = n / 2;
    A.resize(hn + 5) ;
    B.resize(hn + 5) ;
    for ( int i = 1; i <= hn; i++ ) cin >> A[i].w >> A[i].v  ;
    for ( int i = 1; hn + i <= n; i++ ) cin >> B[i].w >> B[i].v ;
}

vector<D> create(vector<D> X) {
    int s = X.size(), cnt = 0;
    vector<D> S(s+1);
    for (int i = 0; i < (1 << s); i++) {
        long long m = 0, t = 0;
        for (int j = 0; j < s; j++) {
            if (i & (1 << j)) {
                m += X[j].w;
                t += X[j].v;
            }
        }
        S[++cnt] = {m,t};
    }
    return S;
}

int main()
{
    ios_base::sync_with_stdio(0) ;
    cin.tie(nullptr) ;
    if(fopen(Task".INP","r")) {
        freopen(Task".INP","r",stdin);
        freopen(Task".OUT","w",stdout);
    }
    inp() ;
    vector<D> cA = create(A) ;
    vector<D> cB = create(B) ;
    for ( D x : cA ) cout << x.w << " " << x.v << cook ;
    return(0) ;
}
Leave a Comment