結果

問題 No.2456 Stamp Art
ユーザー tailstails
提出日時 2023-09-02 22:37:42
言語 cLay
(20241019-1)
結果
AC  
実行時間 291 ms / 5,000 ms
コード長 616 bytes
コンパイル時間 4,577 ms
コンパイル使用メモリ 175,496 KB
実行使用メモリ 70,912 KB
最終ジャッジ日時 2024-06-12 04:49:17
合計ジャッジ時間 8,580 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

ll@h,@w,a[h+2][w+2]{},n=0;
string@s[h];

rep(y,h){
	rep(x,w){
		if(s[y][x]=='#'){
			ll b=h;
			b<?=a[y+0][x+1];
			b<?=a[y+1][x+0];
			b<?=a[y+0][x+0];
			a[y+1][x+1]=b+1;
			n+=1;
		}
	}
}

ll c[h+1][w+1];
ll d[w+1];

ll ok=1,ng=h+1;
while(ok+1<ng){
	rep(y,h+1){
		rep(x,w+1){
			c[y][x]=0;
		}
	}
	rep(x,w+1){
		d[x]=0;
	}
	ll k=ok+ng>>1;
	ll m=n;
	rep(y,h){
		ll e=0;
		rep(x,w){
			if(a[y+1][x+1]){
				if(y+k<=h&&x+k<=w&&a[y+k][x+k]>=k){
					c[y][x]+=1;
					c[y][x+k]-=1;
					c[y+k][x]-=1;
					c[y+k][x+k]+=1;
				}
			}
			e+=d[x]+=c[y][x];
			m-=e>0;
		}
	}
	if(m){
		ng=k;
	}else{
		ok=k;
	}
}

wt(ok);
0