Untitled
user_0483151
plain_text
a year ago
1.2 kB
16
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) ;
}
Editor is loading...
Leave a Comment