91分求助!已经特判了m>=n
查看原帖
91分求助!已经特判了m>=n
421149
how_long_can_it_be楼主2024/7/27 11:37

离谱了

#include<bits/stdc++.h>
using namespace std;
const int N=5009;
int n,m=5001,k,a[N][N],f[N][N];
int main() {
	cin>>n>>k;
	for (int i=1;i<=n;++i) {
		int x,y,c;
		cin>>x>>y>>c;
		a[x+1][y+1]+=c;
	}
	for (int i=1;i<=m;++i)
		for (int j=1;j<=m;++j)
			f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+a[i][j];
	if (k>=m) return cout<<f[m][m]<<endl,0;
	int ans=0;
	for (int i=1;i<=m-k;++i)
		for (int j=1;j<=m-k;++j)
			ans=max(ans,f[i+k][j+k]-f[i][j+k]-f[i+k][j]+f[i][j]);
	cout<<ans<<endl;
	return 0;
}
2024/7/27 11:37
加载中...