锰锌在线求指导!!!90pts,WA#8
查看原帖
锰锌在线求指导!!!90pts,WA#8
705081
Memory_Lin楼主2022/12/24 22:02
#include<bits/stdc++.h>
#define un unsigned
using namespace std;
const int N=5e3+10;
un int p,k,n,m,ans,ac;
un int a[N][N];
int main()
{
	scanf("%d%d",&p,&k);
	for(un int i=1;i<=p;i++){
		un int x,y,v;
		scanf("%d%d%d",&x,&y,&v);
		a[x+1][y+1]+=v;
		n=max(n,x+1);m=max(m,y+1);ac=max(ac,v);
	}
	for(un int i=1;i<=n;i++){
		for(un int j=1;j<=m;j++){
			a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+a[i][j];
		}
	}
	if(k==1){
		printf("%d\n",ac);
		return 0;
	}
	k-=1;
	for(un int i=1;i+k<=n;i++){
		for(un int j=1;j+k<=m;j++){
			ans=max(ans,a[i+k][j+k]-a[i-1][j+k]-a[i+k][j-1]+a[i-1][j-1]);
		}
	}
	printf("%d\n",ans);
    return 0;	
}
2022/12/24 22:02
加载中...