北京线下营第二期第三次联合测试

正在进行… IOI 开始于: 2025-8-8 19:00 200000 小时 主持人: 67

北京线下营第二期第三次联合测试

#include<bits/stdc++.h>
using namespace std;
int n,m,k;
long long a[1003][1003];
long long f[1003][1003];
long long g[1003][1003];
long long h[1003][1003];
long long p[1003][1003];
int main(){
	cin>>n>>m>>k;
	for (int i=1; i<=n; i++) {
		for (int j=1; j<=m; j++) {
			cin>>a[i][j];
		}
	}
	for (int i=1; i<=n; i++) {
		for (int j=1; j<=m; j++) {
			f[i][j]=max(f[i-1][j],f[i][j-1])+a[i][j];
		}
		for (int j=m; j>=1; j--) {
			g[i][j]=max(g[i-1][j],g[i][j+1])+a[i][j];
		}
	}
	for (int i=n; i>=1; i--) {
		for (int j=1; j<=m; j++) {
			h[i][j]=max(h[i+1][j],h[i][j-1])+a[i][j];
		}
		for (int j=m; j>=1; j--) {
			p[i][j]=max(p[i+1][j],p[i][j+1])+a[i][j];
		}
	}
	long long ans=0;
	for (int i=2; i<n; i++) {
		for (int j=2; j<m; j++) {
			ans=max(ans,k+k+f[i-1][j]+g[i][j+1]+h[i][j-1]+p[i+1][j]);
			ans=max(ans,k+k+f[i][j-1]+g[i-1][j]+h[i+1][j]+p[i][j+1]);
		}
	}
	cout<<ans;
	return 0;
}

我们会在赛后检查代码相似度。

状态
正在进行…
规则
IOI
题目
1
开始于
2025-8-8 19:00
结束于
2048-6-2 3:00
持续时间
200000 小时
主持人
参赛人数
67