| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80659 | sh25_zhuwy | 纪念品 | C++ | 通过 | 59 MS | 4400 KB | 645 | 2026-01-04 15:26:14 |
#include <bits/stdc++.h> using namespace std; int f[105][10005]; int a[105][105]; int m, n, T; int main() { cin >> T >> n >> m; for ( int i = 1 ; i <= T ; ++ i ) { for ( int j = 1 ; j <= n ; ++ j ) { cin >> a[i][j]; } } int ans = m; for ( int i = 1 ; i < T ; ++ i ) { memset(f, 0, sizeof(f)); for ( int j = 1 ; j <= n ; ++ j ) { for ( int k = 0 ; k <= ans ; ++ k ) { f[j][k] = f[j - 1][k]; if ( k >= a[i][j] ) { f[j][k] = max(f[j - 1][k], f[j][k - a[i][j]] + a[i + 1][j] - a[i][j]); } } } ans += f[n][ans]; } cout << ans << endl; return 0; }