WA#8,91分
查看原帖
WA#8,91分
816549
52wyd楼主2023/2/4 17:14
#include <cstdio>
#include <algorithm>

using namespace std;

inline int read()
{
	int s = 0, w = 1;
	char ch = getchar();
	while (ch < '0' || ch > '9') {if (ch == '-') w = -1; ch = getchar();}
	while (ch >= '0' && ch <= '9') s = (s << 3) + (s << 1) + (ch ^ 48), ch = getchar();
	return s * w;
}

const int N = 5010;

int n, value_zhui[N][N];
int m;
int res;

int main()
{
	n = read();
	m = read();
	for (int i = 1; i <= n; i ++)
	{
		int x = read();
		int y = read();
		value_zhui[x][y] = read();
	}
	
	for (int i = 1; i <= 5000; i ++)
		for (int j = 1; j <= 5000; j ++)
	{
		value_zhui[i][j] += 
		value_zhui[i][j-1] + 
		value_zhui[i-1][j] - 
		value_zhui[i-1][j-1];
	}
	
	for (int i = 1; i+m-1 <= 5000; i ++)
		for (int j = 1; j+m-1 <= 5000; j ++)
	{
		int ii = i + m - 1, jj = j + m - 1;
		int now = value_zhui[ii][jj]
		- value_zhui[ii][j-1]
		- value_zhui[i-1][jj]
		+ value_zhui[i-1][j-1];
		res = max(res, now);
	}
	
	printf("%d\n", res);
	return 0;
}



2023/2/4 17:14
加载中...