#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
vector<int> a(n);
for(int i=0;i<n;i++)cin >> a[i];
vector<vector<int>> dp(n+1,vector<int>(n+1,-1));
for(int i=0;i<=n;i++){
dp[0][i]=0;
}
for(int i=1;i<=n;i++){
for(int j=0;j<=n;j++){
if(j!=0)dp[i][j]=dp[i][j-1];
if(j!=0 and dp[i-1][j-1]!=-1)dp[i][j]=max(dp[i][j],dp[i-1][j-1]+m);
if(dp[i-1][j]+m>=a[i-1] and dp[i-1][j]!=-1)dp[i][j]=max(dp[i][j],a[i-1]);
if(i==n and dp[i][j]!=-1){
cout << j << "\n";
return 0;
}
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |