#include #include using namespace std; int bin_search(int *a, int item_index, int rest_weight, int N) { int res1, res2; if(item_index == N){ return 0; } else if(rest_weight < a[item_index]){ return bin_search(a, item_index + 1, rest_weight, N); } else{ res1 = bin_search(a, item_index + 1, rest_weight, N); res2 = bin_search(a, item_index + 1, rest_weight - a[item_index], N) + a[item_index]; return max(res1, res2); } } int main() { int N, K; scanf("%d %d", &N, &K); int a[N]; for(int i; i < N; i++){ scanf("%d", &a[i]); } printf("%d\n", bin_search(a, 0, K, N)); return 0; }