40分求助!!!
查看原帖
40分求助!!!
920354
jyj6222楼主2024/10/4 16:30
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
ll d,n,a[300][300],p[300][300],ans,ma=-1e9;
int main() {
	cin>>d>>n;
	while(n--) {
		int x,y,k;
		cin>>x>>y>>k;
		p[max((ll)0,x-d)][max((ll)0,y-d)]+=k;
		p[max((ll)0,x-d)][min((ll)128,y+d+1)]-=k;
		p[min((ll)128,x+d+1)][max((ll)0,y-d)]-=k;
		p[min((ll)128,x+d+1)][min((ll)128,y+d+1)]+=k;
	}
	a[0][0]=p[0][0];
	a[0][1]=a[0][0]+p[0][1];
	a[1][0]=a[0][0]+p[1][0];
	for(int i=1; i<=128; i++) {
		for(int j=1; j<=128; j++) {
			a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+p[i][j];
			ma=max(ma,a[i][j]);
		}
	}
//	for(int i=0;i<=20;i++){
//		for(int j=0;j<=20;j++){
//			cout<<a[i][j]<<" ";
//		}
//		cout<<endl;
//	}
	for(int i=0; i<=128; i++) {
		for(int j=0; j<=128; j++) {
			if(a[i][j]==ma){
				ans++;
			}
		}
	}
	cout<<ans<<" "<<ma;
	return 0;
}
2024/10/4 16:30
加载中...