提交时间:2026-01-04 15:25:02
运行 ID: 80635
#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; }