#include "bubblesort2.h"
#include <cstdio>
#include <cstdlib>
#include <vector>
#include<bits/stdc++.h>
#include "bubblesort2.h"
using namespace std;
#define taskname "A"
#define pb push_back
#define mp make_pair
#ifndef LOCAL
#define cerr if(0)cout
#endif
typedef long double ld;
typedef long long ll;
typedef pair<int,int> ii;
typedef pair<ll,int> lli;
const int maxn = 1e6 + 6;
const ld inf = 1e9 + 5;
int n;
ll a[maxn];
ll can;
vector<ll> val , val1;
void enter(){
cin >> n >> can;
for(int i = 0 ; i < n / 2 ; ++i){
cin >> a[i];
}
val.reserve((1 << (n / 2)));
for(int j = 0 ; j < (1 << (n / 2)) ; ++j){
ll sum = 0;
for(int i = 0 ; i < n / 2 ; ++i){
if((j >> i) & 1)sum += a[i];
}
val.pb(sum);
}
sort(val.begin(),val.end());
n -= (n / 2);
for(int i = 0 ; i < n ; ++i){
cin >> a[i];
}
val1.reserve((1 << n));
for(int j = 0 ; j < (1 << n) ; ++j){
ll sum = 0;
for(int i = 0 ; i < n ; ++i){
if((j >> i) & 1)sum += a[i];
}
val1.pb(sum);
}
sort(val1.begin(),val1.end());
int j = val.size() - 1;
int res = 0;
for(int c : val1){
while(j >= 0 && val[j] + c > can)--j;
res += j + 1;
// cout << j << endl;
}
cout << res;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
if(fopen(taskname".INP","r")){
freopen(taskname".INP", "r",stdin);
freopen(taskname".OUT", "w",stdout);
}
enter();
}
Compilation message
bobek.cpp:1:10: fatal error: bubblesort2.h: No such file or directory
#include "bubblesort2.h"
^~~~~~~~~~~~~~~
compilation terminated.