این قسمت میخواستم سوال تاپ بزارم ولی نشد خوب ترجمه کنم ایشاالهه از کانتست بعد این کارو میکنم ولی این کانتست سوال C رو میدم ایدش با dp هستش خیلی سوال با حالیه روش فکر کنیدجوابو بزارید ممنون

لینک

اگه حل کردید جواب رو بزارید ممنون:)

جواب:کد C++

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=5e3+5;
ll x[N],sum[N],dp[N][N];
int n,m,k;

int main(){

   cin>>n>>m>>k;
   for(int i=1;i<=n;i++){
      cin>>x[i];
      sum[i]=sum[i-1]+x[i];
   }
   for(int i=m;i<=n;i++){
       for(int j=1;j<=k;j++){
          dp[i][j]=max(dp[i-1][j],dp[i-m][j-1]+sum[i]-sum[i-m]);
       }
   }
   cout<<dp[n][k]<<endl;
   return 0;
}