2 条题解

  • 0
    @ 2025-7-3 16:27:44
    #include<bits/stdc++.h>
    using namespace std;
    long long a[105][105],maxn=INT_MIN,n,s,x[200],y[200];
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=n;j++){
    			cin>>a[i][j];
    			a[i][j]+=a[i-1][j]; 
    		}	
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=i;j++){
    			for(int k=1;k<=n;k++){
    				x[k]=a[i][k]-a[i-j][k];
    				y[k]=max(y[k-1]+x[k],x[k]);
    				maxn=max(maxn,y[k]);
    			}
    			
    		}
    	}
    	cout<<maxn;
    	return 0;
    }
    /*4 
    0 -2 -7 0 
    9 2 -6 2 
    -4 1 -4 1  
    -1 8 0 -2 
    
    0 -2 -7 0
    9 0 -13 2
    5 1 -17 3
    4 9 -17 1
    */
    
    • -1
      @ 2025-7-3 15:36:53

      #include<bits/stdc++.h> using namespace std; long long n,a[1010][1010],ans=0,maxn=INT_MIN,s[1010][1010]; int main() { cin>>n; for(int i=1;i<=n;i++) { int j; for(j=1;j<=n;j++) { cin>>a[i][j]; s[i][j]=s[i-1][j]+a[i][j]; } } for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { ans=0; for(int k=1;k<=n;k++) { ans+=s[j][k]-s[i-1][k]; maxn=max(ans,maxn); if(ans<0)ans=0; } } } cout<<maxn; return 0; }

      • 1

      信息

      ID
      294
      时间
      1000ms
      内存
      256MiB
      难度
      1
      标签
      (无)
      递交数
      39
      已通过
      28
      上传者