Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
143022 | 王容宇 | 最优选课 | C++ | 通过 | 100 | 4 MS | 404 KB | 611 | 2024-04-11 20:49:58 |
#include <bits/stdc++.h> using namespace std; long long n, m, a[101][101], dp[101][101]; int main() { cin >> n >> m; while(n!=0 || m!=0) { for(int i = 1; i<=n; i++) { for(int j = 1; j<=m; j++) { cin >> a[i][j]; dp[i][j]=0; } } for(int i = 1; i<=n; i++) { for(int j = 1; j<=m; j++) { for(int l = 0; l<=j; l++) { dp[i][j]=max(a[i][l]+dp[i-1][j-l], dp[i][j]); } } } long long maxn = 0; for(int i = 1; i<=m; i++) { maxn=max(maxn, dp[n][i]); } cout << maxn << endl; cin >> n >> m; } return 0; }