60分,时间复杂度没问题。
查看原帖
60分,时间复杂度没问题。
996050
jinxiaohan楼主2024/12/21 21:56

代码如下,谢谢。

#include<iostream>
using namespace std;
int m,n,a[20001][101],b[20001];
int main()
{
    cin>>n>>m;
    for(int i = 1;i <= n;i++)
        for(int j = 1;j <= m;j++)
            cin>>a[i][j];
    int mx;
    for(int i = 1;i <= m;i++)
    {
        mx = -1000000000;
        for(int j = 1;j <= n;j++)
            mx = max(a[j][i],mx);
        b[i] = mx;
    }
    mx = -1000000000;
    int ans;
    for(int l = 1;l <= m;l++)
    {
        ans = 0;
        for(int r = l;r <= m;r++)
        {
            ans += b[r];
            mx = max(ans,mx);
            if(mx < 0)mx = 0;
        }
    }
    cout<<mx;
    return 0;
}
2024/12/21 21:56
加载中...