Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
141905 | 你女子 | 最优选课 | C++ | 通过 | 100 | 4 MS | 420 KB | 700 | 2024-04-06 14:39:43 |
#include<bits/stdc++.h> using namespace std; int n,m; long long a[105][105],dp[105][105]; //bool b[100][100]; int main(){ while(1){ memset(dp,0,sizeof(dp)); memset(a,0,sizeof(a)); cin>>n>>m; if(n==0&&m==0) break; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=0;j<=m;j++){ // dp[i][j]=max(a[i][j],dp[i][j-1]); for(int k=0;k<=j;k++){ dp[i][j]=max(dp[i][j],dp[i-1][j-k]+a[i][k]); } } } cout<<dp[n][m]<<endl; // for(int i=1;i<=n;i++){ // cout<<i<<" "<<2<<endl; // } } return 0; }