为什么会热唉
查看原帖
为什么会热唉
585201
6lszxz楼主2022/3/28 11:13
#include "cstdio"

int s[5001][5001];


int main(){
    int n,r;
    int xm=0,ym=0;
    scanf("%d%d",&n,&r);
    for(int i=0;i<n;i++){
        int x,y,w;
        scanf("%d%d",&x,&y);
        if(xm<x){
            xm=x;
        }
        if(ym<y){
            ym=y;
        }
        scanf("%d",&w);
        s[x][y]+=w;
    }
    for(int i=1;i<=xm;i++){
        s[i][0] = s[i-1][0]+s[i][0];
    }
    for(int i=1;i<=ym;i++){
        s[0][i] = s[0][i-1]+s[0][i];
    }
    for(int i=1;i<=xm;i++){
        for(int j=1;j<=ym;j++){
            s[i][j] = s[i][j-1]+s[i-1][j]-s[i-1][j-1]+s[i][j];
        }
    }
    int max=0;
    for(int i=r-1;i<=xm;i++){
        for(int j=r-1;j<ym;j++){
            if(i==r-1 && j==r-1){
                max = s[i][j];
            } else{
                if(max<s[i][j]-s[i-r][j]-s[i][j-r]){
                    max=s[i][j]-s[i-r][j]-s[i][j-r]+s[i-r][j-r];
                }
            }
        }
    }
    printf("%d",max);
    return 0;
}

直接热了但是没看出来哪里有问题哎呜呜

2022/3/28 11:13
加载中...