WA了最后一个,求dalao帮调
查看原帖
WA了最后一个,求dalao帮调
591179
huangyuxaing楼主2022/8/7 21:42
#include<bits/stdc++.h>
using namespace std;
map<int,map<int,long long> >m,yuan;
int n,x,y;
unsigned long long z,ans,p;
int dis[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
bool in(int x,int y){
	return x>=1&&y>=1;
}
int main(){
	scanf("%d",&n);
	while(n--){
		scanf("%d%d%lld",&x,&y,&z);
		ans+=4ull*z;
		yuan[x][y]=m[x][y];
		m[x][y]+=z;
		for(int i=0;i<4;i++){
			int vx=x+dis[i][0];
			int vy=y+dis[i][1];
			if(in(vx,vy))p=2ull*(min(m[vx][vy],m[x][y])-yuan[x][y]);
			if(in(vx,vy)&&m[vx][vy]&&yuan[x][y]<m[vx][vy]&&p>=0)ans=ans-p;
		}
		printf("%lld\n",ans);
	}
	return 0;
} 
2022/8/7 21:42
加载中...