AcWing 99. 激光炸弹
原题链接
简单
作者:
吴鑫
,
2021-03-11 19:19:06
,
所有人可见
,
阅读 318
#include<iostream>
using namespace std;
const int N=5010;
int p[N][N];
int n,r,x,y;
int main(){
cin>>n>>r;
x=r,y=r;
while(n--){
int a,b,w;
scanf("%d%d%d",&a,&b,&w);
p[a+1][b+1]+=w;
x=max(x,a+1);
y=max(y,b+1);
}
for(int i=1;i<=x;i++)
for(int j=1;j<=y;j++)
p[i][j]+=p[i-1][j]+p[i][j-1]-p[i-1][j-1];
int ans=0;
for(int i=r;i<=x;i++)
for(int j=r;j<=y;j++)
ans=max(ans,p[i][j]-p[i-r][j]-p[i][j-r]+p[i-r][j-r]);
cout<<ans<<endl;
return 0;
}