#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; using mint=modint1000000007; int n, m; int a[3030]; int dp[2][3030][3030]; int main() { cin>>n>>m; for(int i=0; i>a[i]; sort(a, a+n, greater()); for(int i=0; i=a[i]-a[i+1]) dp[1][i+1][j]=max(dp[1][i+1][j], dp[0][i][j-(a[i]-a[i+1])]+a[i]); dp[0][i+1][j]=max(dp[0][i+1][j], dp[1][i][j]); if(i+1=a[i]-a[i+1]) dp[1][i+1][j]=max(dp[1][i+1][j], dp[1][i][j-(a[i]-a[i+1])]); } } cout<