fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4.  
  5. vector<int>v={100,100,100};
  6. int n=v.size();
  7. int p=1;
  8. int k=3;
  9. vector<vector<int>>dp(n,vector<int>(k+1,INT_MIN));
  10. for(int i=0;i<n;i++){
  11. dp[i][0]=0;
  12. }
  13. dp[0][1]=max(0,v[0]);
  14. dp[1][1]=max(v[0],v[1]);
  15. dp[1][2]=v[0]+v[1]-p;
  16.  
  17.  
  18. for(int i=2;i<n;i++){
  19. for(int j=1;j<=k;j++){
  20.  
  21. dp[i][j]=max({v[i]+dp[i-2][j-1],dp[i-1][j],v[i]+v[i-1]-p+dp[i-2][j-2]});
  22.  
  23. }
  24. }
  25.  
  26. cout<<dp[n-1][k];
  27.  
  28.  
  29. return 0;
  30. }
Success #stdin #stdout 0s 5308KB
stdin
Standard input is empty
stdout
299