#include #include using namespace std; int n; int nums[100111]; int F[100111][101]; int main() { freopen("krasi.in","r",stdin); freopen("krasi.out","w",stdout); int i,j; int zs = 0, sum = 0; int ans = 0; int k; int maxnum = -10000; scanf("%d %d",&n,&k); for (i=1;i<=n;i++) { scanf("%d",&nums[i]); if (nums[i] > maxnum) maxnum = nums[i]; int z = 0; if (nums[i] == 0) z = 1; if (z == 0) { F[i][0] = nums[i] + F[i-1][0]; if (F[i][0] < 0) F[i][0] = 0; if (F[i][0] >= ans) ans = F[i][0]; } for (j=1;j<=k;j++) { F[i][j] = nums[i] + F[i-1][j-z]; if (F[i][j] < 0) F[i][j] = 0; if (F[i][j] >= ans) ans = F[i][j]; } } if (maxnum <= 0) { printf("%d\n",maxnum); return 0; } printf("%d\n",ans); return 0; }