import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.math.BigInteger;
import java.util.*;
public class Main {
static class Scanner{
StreamTokenizer streamTokenizer=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
public int nextInt() throws IOException {
streamTokenizer.nextToken();
return (int) streamTokenizer.nval;
}
}
public static void main(String[] args) throws IOException {
Scanner sc=new Scanner();
int n=sc.nextInt();
int[][] arr=new int[n+1][n+1];
for (int i = 1; i <=n; i++) {
for (int j = 1; j <=n; j++) {
arr[i][j]=sc.nextInt()+arr[i-1][j]+arr[i][j-1]-arr[i-1][j-1];
}
}
int max=Integer.MIN_VALUE;
for (int x1 = 1; x1 <=n; x1++) {
for (int y1 = 1; y1 <=n ; y1++) {
for (int x2 = x1; x2 <=n; x2++) {
for (int y2 = y1; y2 <=n ; y2++) {
max=Math.max(max,num(arr,x1,x2,y1,y2));
}
}
}
}
System.out.println(max);
}
private static int num(int[][] arr, int x1, int x2, int y1, int y2) {
return arr[x2][y2]-arr[x2][y1-1]-arr[x1-1][y2]+arr[x1-1][y1-1];
}
}
P1719 最大加权矩形 (JAVA二维前缀和)
最新推荐文章于 2025-01-19 11:15:22 发布