此题就是 二维前缀和 的改版
但是 有小细节
不注意就WA了
注: “?”是要补充的
你们别复制 装了防盗系统
1 #include<bits/stdc++.h>
2 using namespace std;
3 int s[5005][5005],n,r,ans=0; //ans存结果
4 int main(){
5 //输入n,r
6 int nx=r,ny=r;
7 for(int i=1;i<=n;++i){
8 int x,y,w;
9 //输入x,y,w
10 x++,y++;
11 s[x][y]+=w;
12 nx=max(?,?); //本来写没用max 结果TLE了
13 ny=max(?,?);
14 }
15 for(int i=1;i<=nx;++i)
16 for(int j=1;j<=ny;++j)
17 //二维前缀和
18 for(int i=r;i<=nx;++i)
19 for(int j=r;j<=ny;++j)
20 ans=max(ans,s[i][j]-s[i-r][j]-s[i][j-r]+s[i-r][j-r]);
21 cout<<ans;
22 return 0; //好习惯
23 }
求求了,别封