結果

問題 No.2897 2集合間距離
ユーザー tailstails
提出日時 2024-09-20 22:53:36
言語 cLay
(20241019-1)
結果
AC  
実行時間 619 ms / 3,500 ms
コード長 605 bytes
コンパイル時間 2,449 ms
コンパイル使用メモリ 174,276 KB
実行使用メモリ 26,368 KB
最終ジャッジ日時 2024-09-20 22:53:53
合計ジャッジ時間 16,837 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

ll@n,a[n],b[n];
rep(i,n){
	ll@x,@y;
	a[i]=x+y;
	b[i]=x-y+999;
}
ll@m,c[m],d[m];
rep(i,m){
	ll@z,@w;
	c[i]=z+w;
	d[i]=z-w+999;
}
ll o=-1,h=2d3;
while(o<h-1){
	ll v=o+h>>1;
	int f[2d3][2d3]{};
	rep(i,n){
		ll x0=max(a[i]-v,0);
		ll x1=min(a[i]+v+1,2d3-1);
		ll y0=max(b[i]-v,0);
		ll y1=min(b[i]+v+1,2d3-1);
		f[y0][x0]+=1;
		f[y0][x1]-=1;
		f[y1][x0]-=1;
		f[y1][x1]+=1;
	}
	rep(y,2d3){
		ll e=0;
		rep(x,2d3){
			f[y][x]=e+=f[y][x];
		}
	}
	rep(x,2d3){
		ll e=0;
		rep(y,2d3){
			f[y][x]=e+=f[y][x];
		}
	}
	bool found=false;
	rep(i,m){
		if(f[d[i]][c[i]]){
			found=true;
		}
	}
	(found?h:o)=v;
}
wt(h);
0