80‘求助
  • 板块P2706 巧克力
  • 楼主YoungC
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/14 19:49
  • 上次更新2024/9/14 21:53:09
查看原帖
80‘求助
821002
YoungC楼主2024/9/14 19:49

wa #5 但不知道出了什么问题 球解答

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF=-1e10;
int n,m,ans=INF;
int ju[10010][10010];
int sum[10010][10010];
int read(){
	int f=1,x=0;
	char ch;
	do{
		ch=getchar();
		if(ch=='-') f=-1;
	}while(ch<'0'||ch>'9');
	do{
		x=(x<<1)+(x<<3)+ch-'0';
		ch=getchar();
	}while(ch>='0'&&ch<='9');
	return f*x;
}
void init(){
	n=read(),m=read();
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			ju[i][j]=read();
			if(!ju[i][j]) ju[i][j]=INF;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+ju[i][j];
		}
	}
}
signed main(){
	init();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			for(int k=i;k<=n;k++)
				for(int p=j;p<=m;p++)
					if(i>k||j>p) continue;
					else ans=max(ans,sum[k][p]+sum[i-1][j-1]-sum[k][j-1]-sum[i-1][p]);
	printf("%lld",ans);
}

2024/9/14 19:49
加载中...