源码:
#include<iostream>
using namespace std;
int a[5005][5005],sum[5005][5005],n,m,x,y,v,x1,y1,ans;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>x>>y>>v;
a[x+1][y+1]=v;
}
for(int i=1;i<=5001;i++){
for(int j=1;j<=5001;j++){
sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j];
}
}
for(int x1=1;x1<=5002-m;x1++){
for(int y1=1;y1<=5002-m;y1++){
int x2=x1+m-1;
int y2=y1+m-1;
int tmp=sum[x2][y2]-sum[x1-1][y2]-sum[x2][y1-1]+sum[x1-1][y1-1];
ans=max(ans,tmp);
}
}
cout<<ans;
return 0;
}
评测结果好奇怪,为什么100分还是 Unaccepted ?