結果
| 問題 |
No.873 バイナリ、ヤバいなり!w
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2019-09-02 19:03:55 |
| 言語 | Perl (5.40.0) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 569 bytes |
| コンパイル時間 | 501 ms |
| コンパイル使用メモリ | 7,072 KB |
| 実行使用メモリ | 19,456 KB |
| 最終ジャッジ日時 | 2024-06-24 06:38:12 |
| 合計ジャッジ時間 | 2,445 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 35 WA * 1 |
コンパイルメッセージ
Name "main::y" used only once: possible typo at Main.pl line 25. Main.pl syntax OK
ソースコード
# almost beta-ishoku of
# https://yukicoder.me/submissions/374293 by nadare
$N=<>;
@DP = (999)x($N+1);
$DP[0] = 0;
$r=int sqrt$N;
for$i(0..$N-$r*$r){
for$j(1..sqrt$N-$i){
$f=$j*$j;
$DP[$i+$f]=$DP[$i]+$j if $DP[$i+$f]>$DP[$i]+$j;
}
}
for(0,1){
$DP[$N]=$DP[$N-$r*$r]+$r if $DP[$N]>$DP[$N-$r*$r]+$r;
--$r;
}
$x = $N;
$j=1;
while($x){
$f=$j*$j;
if($DP[$x] == $DP[$x-$f] + $j){
$y=$j;
if($j%2){
print"01"x($j/2),0;
}else{
push@E,$j;
}
$x -= $f;
}else{
++$j;
}
}
while($e=pop@E){
print"01"x($e/2);
if($e=shift@E){
print"10"x($e/2);
}
}
tails