// yukicoder: 617 Nafmo、買い出しに行く // 2019.5.12 bal4u #include #if 1 #define gc() getchar_unlocked() #else #define gc() getchar() #endif int in() { // 非負整数の入力 int n = 0, c = gc(); do n = 10 * n + (c & 0xf); while ((c = gc()) >= '0'); return n; } int A[22], sz; int main() { int i, j, N, K, s, lim, ans; N = in(), K = in(); s = 0; while (N--) { A[sz] = in(); if (A[sz] <= K) { s += A[sz]; sz++; } } if (s <= K) ans = s; else { lim = 1 << sz, ans = 0; for (i = 1; i < lim; i++) { s = 0; for (j = 0; j < sz; j++) if ((i >> j) & 1) s += A[j]; if (s <= K && s > ans) ans = s; } } printf("%d\n", ans); return 0; }