1 条题解

  • 1
    @ 2024-10-24 11:44:51

    解题思路

    依题意枚举,再利用前缀和优化即可。

    code

    # include <bits/stdc++.h>
    using namespace std;
    int n, dp[110], a[110][110], t, ret = INT_MIN;
    int main() {
    	cin >> n;
    	for (int i = 1; i <= n; i++) {
    		for (int j = 1; j <= n; j++) {
    			scanf("%d", &a[i][j]);
    		}
    	}
    	for (int k = 1; k <= n; k++) {
    		memset(dp, 0, sizeof(dp));
    		for (int i = k; i <= n; i++) {
    			t = 0;
    			for (int j = 1; j <= n; j++) {
    				dp[j] += a[i][j];
    				t = max(0, t) + dp[j];
    				ret = max(ret, t);
    			}
    		}
    	}
    	cout << ret;
    	return 0;
    }
    

    信息

    ID
    14407
    时间
    1000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    2
    已通过
    1
    上传者