#include #include #include #include #include #include #include #include #include #include using namespace std; istream& operator >> (istream& is, vector& vec){ for(int& val: vec) scanf("%d", &val); return is;} template istream& operator >> (istream& is, vector& vec){ for(T& val: vec) is >> val; return is;} int main(){ int n,m; //cin >> n >> m; scanf("%d%d", &n,&m); vector w(n); //cin >> w; for(int& x:w) scanf("%d", &x); if(m==0){ cout << 0 << endl; return 0; } const int inf = 100000000; vector>> dp (2,vector>(2,vector(m+1, -inf))); vector>> dp_(2,vector>(2,vector(m+1, -inf))); dp[0][0][0] = 0; dp[1][1][1] = 0; for(int i=1; i