#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
//ios_base::sync_with_stdio(0);
//cin.tie(0);
//cout.tie(0);
int n, m, k;
cin>>n>>m>>k;
int kog=k;
k=max(m, k);
vector<vector<ll>>dp(n, vector<ll>(k+1, 0));
vector<vector<ll>>v(n, vector<ll>(m+1, 0));
//cout<<"huj\n";
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)cin>>v[i][j];
}
//cout<<"eu\n";
for(int i=1; i<=m; i++)
{
dp[0][i]=dp[0][i-1]+v[0][i-1];
}
//cout<<"eu2\n";
for(int i=m+1; i<=k; i++)dp[0][i]=dp[0][i-1];
//cout<<"skibidi\n";
for(int i=1; i<n; i++)
{
//cout<<"eu?\n";
//cout<<i<<endl;
ll pref=v[i][0];
for(int j=0; j<=k; j++)dp[i][j]=dp[i-1][j];
//cout<<"heh\n";
for(int j=1; j<=m; j++)
{
for(int it=j; it<=k; it++)dp[i][it]=max(dp[i][it], dp[i-1][it-j]+pref);
pref+=v[i][j];
}
}
/*
for(auto x:dp)
{
for(auto y:x)cout<<y<<" ";
cout<<endl;
}
*/
//cout<<n-1<<" "<<k<<endl;
cout<<dp[n-1][kog];
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { //ios_base::sync_with_stdio(0); //cin.tie(0); //cout.tie(0); int n, m, k; cin>>n>>m>>k; int kog=k; k=max(m, k); vector<vector<ll>>dp(n, vector<ll>(k+1, 0)); vector<vector<ll>>v(n, vector<ll>(m+1, 0)); //cout<<"huj\n"; for(int i=0; i<n; i++) { for(int j=0; j<m; j++)cin>>v[i][j]; } //cout<<"eu\n"; for(int i=1; i<=m; i++) { dp[0][i]=dp[0][i-1]+v[0][i-1]; } //cout<<"eu2\n"; for(int i=m+1; i<=k; i++)dp[0][i]=dp[0][i-1]; //cout<<"skibidi\n"; for(int i=1; i<n; i++) { //cout<<"eu?\n"; //cout<<i<<endl; ll pref=v[i][0]; for(int j=0; j<=k; j++)dp[i][j]=dp[i-1][j]; //cout<<"heh\n"; for(int j=1; j<=m; j++) { for(int it=j; it<=k; it++)dp[i][it]=max(dp[i][it], dp[i-1][it-j]+pref); pref+=v[i][j]; } } /* for(auto x:dp) { for(auto y:x)cout<<y<<" "; cout<<endl; } */ //cout<<n-1<<" "<<k<<endl; cout<<dp[n-1][kog]; } |
English