80pts 求调
查看原帖
80pts 求调
627304
Xujingyang楼主2024/7/11 16:46

#1 #6寄了,#1答案少一,但不知道为啥

#include<bits/stdc++.h>
using namespace std;
long long d,n;
long long x,y,w;
long long ww[131][131];
long long qz[131][131];
long long ans = 1,maxx;
long long t;
void pd(long long t)
{
	if (t > maxx)maxx = t,ans=1;
	else if (t == maxx)ans++;
	return;
}
void qzh(long long x,long long y)
{
	long long x1,y1;
	x1 = max(x - d - 1,0ll);
	y1 = max(y - d - 1,0ll);
//	if (qz[x][y] - qz[x1][y] - qz[x][y1] + qz[x1][y1] > 0)cout<<qz[x][y] - qz[x1][y] - qz[x][y1] + qz[x1][y1]<<" x,y: "<<x<<" "<<y<<"\n";
	pd(qz[x][y] - qz[x1][y] - qz[x][y1] + qz[x1][y1]);
}
int main ()
{
//	freopen("a.txt","w",stdout);
	cin>>d>>n;
	d*=2;
	while (n--)cin>>x>>y>>w,ww[x+1][y+1] = w;
	for (int i=1;i<=129;i++)
	{
		for (int j=1;j<=129;j++)
		{
			qz[i][j] = qz[i-1][j] + qz[i][j-1] - qz[i-1][j-1] + ww[i][j];
		}
	}
	for (long long i=1;i<=129;i++)
	{
		for (long long j=1;j<=129;j++)
		{
			qzh(i,j);
		}
	}
//	for (int i=1;i<=12;i++)
//	{
//		for (int j=1;j<=12;j++)
//		{
//			cout<<ww[i][j]<<" ";
//		}
//		cout<<"\n";
//	}
	cout<<ans<<" "<<maxx;
	return 0;
}
2024/7/11 16:46
加载中...