#include<bits/stdc++.h>
using namespace std;
short a[5005][5005];
short pre[5005][5005];
int main() {
int n, r;
cin >> n >> r;
int x, y, v;
int sx = 0, sy = 0;
for (int i = 1; i <= n; i++) {
scanf("%d%d%d", &x, &y, &v);
a[x][y] = (short)v;
}
for (int i = 0; i <= 5001; i++) {
for (int j = 0; j <= 5001; j++) {
pre[i][j] = pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1] + a[i][j];
}
}
short maxn;
int x2, y2, x3, y3;
r--;
maxn = pre[0][0];
for (int i = 0; i <= 5001; i++) {
for (int j = 0; j <= 5001; j++) {
x2 = i - r, y2 = j - r, x3 = i, y3 = j, maxn = max(maxn, (short)(pre[x3][y3] - pre[x3][y2 - 1] - pre[x2 - 1][y3] + pre[x2 - 1][y2 - 1]));
}
}
cout << maxn;
}
看了前几个贴,还是没找到错误。。。原大佬帮帮忙,谢谢!!!