#8WA,求助!
查看原帖
#8WA,求助!
817450
Calarence4楼主2023/11/17 12:39
#include <bits/stdc++.h>
using namespace std;
const int MaxN = 5e3 + 5;
int a[MaxN][MaxN];
int ans = -0x3f;
int n, m, max_x = -0x3f, max_y = -0x3f;
int main() {
    memset(a, 0, sizeof(a));
    scanf("%d%d", &n, &m);
    if (m == 0) {
        printf("0\n");
        return 0;
    }
    for (int i = 1; i <= n; i++) {
        int x, y, z;
        scanf("%d%d%d", &x, &y, &z);
        x++, y++;
        a[x][y] += z;  // 从一开始
        max_x = max(max_x, x);
        max_y = max(max_y, y);
    }
    for (int i = 1; i <= max_x; i++) {
        for (int j = 1; j <= max_y; j++) {
            a[i][j] = a[i - 1][j] - a[i - 1][j - 1] + a[i][j - 1] + a[i][j];
        }
    }
    for (int i = m; i <= max_x; i++) {
        for (int j = m; j <= max_y; j++) {
            int temp = a[i][j] - a[i - m][j] - a[i][j - m] + a[i - m][j - m];
            ans = max(ans, temp);
        }
    }
    printf("%d", ans);
    return 0;
}
2023/11/17 12:39
加载中...