8 条题解

  • 0
    @ 2026-11-1 18:43:23

    #include using namespace std; int n,r; int cnt; int maxx = -1; int XMAX = -1; int YMAX = -1; int f[5002][5002]; int main() { cin>>n>>r; XMAX = r; YMAX = r; for(int i=0;i<n;i++) { int x,y,w; cin>>x>>y>>w; f[x+1][y+1] += w; XMAX = max(XMAX,x+1); YMAX = max(YMAX,y+1);

    }
    for(int i=1;i<=XMAX;i++)
    {
    	for(int j=1;j<=YMAX;j++)
    	{
    		f[i][j] += f[i-1][j] + f[i][j-1] - f[i-1][j-1];
    	}
    }
    
    for(int i=r;i<=XMAX;i++)
    {
    	for(int j=r;j<=YMAX;j++)
    	{
    		maxx=max(maxx,f[i][j]-f[i-r][j]-f[i][j-r]+f[i-r][j-r]);
    	}
    }
    cout<<maxx<<endl;
    return 0;
    

    }

    信息

    ID
    11
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    576
    已通过
    271
    上传者