奇迹问题。。。
查看原帖
奇迹问题。。。
726870
Rainber楼主2023/11/20 18:14

记录

嘚马:

#include<cstdio>
int map[5002][5002];
int max(int a,int b)
{
	return (a>b?a:b);
}
int main()
{
	int n,m,i,j,mxx=0,mxy=0,rx,ry,w,mw=0;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;++i)
	{
		scanf("%d%d%d",&rx,&ry,&w);
		map[rx+1][ry+1]=w;
		mxx=max(mxx,rx+1);
		mxy=max(mxy,ry+1);
	}
	for(i=1;i<=mxx;++i)
	{
		for(j=1;j<=mxy;++j)
		{
			map[i][j]+=map[i-1][j]+map[i][j-1]-map[i-1][j-1];
		}
	}
	for(i=0;i<=mxx-m;++i)
	{
		for(j=0;j<=mxy-m;++j)
		{
			mw=max(mw,map[i+m][j+m]-map[i][j+m]-map[i+m][j]+map[i][j]);
		}
	}
	printf("%d",mw);
	return 0;
}
2023/11/20 18:14
加载中...