#include using namespace std; int main() { int N, K; cin >> N >> K; vector A(N); for (int i=0; i> A[i]; vector> dpl(N + 1); vector> dpr(N + 1); dpl[0][0] = dpr[N][K] = 1; for (int i=0; i=0; --i) { dpr[i] = dpr[i + 1] | (dpr[i + 1] >> A[i]); } if (!dpl[N][K]) { puts("-1"); return 0; } int ans = 0; for (int i=0; i