a53

best_sum1

a53
Jan 9th, 2022 (edited)
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. #include <iostream>
  2. const long long Maxx=-1000000000000000000;
  3. using namespace std;
  4. int n,t,k;
  5. long long dp[1001][3501];
  6. long long a[3501];
  7.  
  8. int main()
  9. {
  10. cin>>n>>t>>k;
  11. dp[1][0]=Maxx;
  12. for(int i=1;i<=n;++i)
  13. cin>>dp[1][i],a[i]=dp[1][i],dp[1][i]=max(dp[1][i],dp[1][i-1]);
  14. for(int i=2;i<=t;++i)
  15. for(int j=1;j<=n;++j)
  16. dp[i][j]=Maxx;
  17. for(int i=2;i<=t;++i)
  18. {
  19. for(int j=k*(i-1)+1;j<=n;++j)
  20. dp[i][j]=dp[i-1][j-k]+a[j];
  21. for(int j=k*(i-1)+2;j<=n;++j)
  22. dp[i][j]=max(dp[i][j],dp[i][j-1]);
  23. }
  24. cout<<dp[t][n];
  25. return 0;
  26. }
Add Comment
Please, Sign In to add comment