結果
| 問題 |
No.2897 2集合間距離
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 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 |
ソースコード
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);
tails