P2280疑问
  • 板块学术版
  • 楼主promusk
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/17 19:42
  • 上次更新2024/12/17 20:05:49
查看原帖
P2280疑问
486638
promusk楼主2024/12/17 19:42

原题

#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,v,a[6002][6002],maxx=0;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>x>>y>>v;
		x+=1;
		y+=1;
		a[x][y]+=v;
	}
	for(int i=1;i<=6001;i++)
	{
		for(int j=1;j<=6001;j++)
		{
			a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
		}
	}
	for(int i=0;i<=6001-m;i++)
	{
		for(int j=0;j<=6001-m;j++)
		{
			int ans=a[i+m][j+m]+a[i][j]-a[i][j+m]-a[i+m][j];
			maxx=max(maxx,ans);
		}
	}
	cout<<maxx;
	return 0;
}

为什么求maxx这一段循环起始点是0不是1,特殊情况是什么,求助

2024/12/17 19:42
加载中...