WA#8,求助
查看原帖
WA#8,求助
218226
ZXCVB123楼主2020/9/29 18:39
#include<bits/stdc++.h>
using namespace std;
int n,m,xm,ym,mp[5010][5010];
void read(int &x){
	x=0;
	int f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=x*10+ch-'0';
		ch=getchar();
	}
	x=x*f;
}
int main(){
	read(n); read(m);
	xm=ym=m;
	for(int i=1;i<=n;i++){
		int x,y,v;
		read(x); read(y); read(v);
		mp[x][y]=v;
		xm=max(x,xm); ym=max(y,ym);
	}
	for(int i=1;i<=xm;i++)
		for(int j=1;j<=ym;j++)
			mp[i][j]=mp[i][j]+mp[i-1][j]+mp[i][j-1]-mp[i-1][j-1];
	int mx=0;
	for(int i=1;i<=xm-m+1;i++)
		for(int j=1;j<=ym-m+1;j++)
			mx=max(mp[i+m-1][j+m-1]+mp[i-1][j-1]-mp[i+m-1][j-1]-mp[i-1][j+m-1],mx);
	printf("%d\n",mx);
	return 0;
}
2020/9/29 18:39
加载中...