結果
問題 | No.332 数列をプレゼントに |
ユーザー |
![]() |
提出日時 | 2015-12-25 02:31:12 |
言語 | Perl (5.40.0) |
結果 |
AC
|
実行時間 | 693 ms / 2,000 ms |
コード長 | 505 bytes |
コンパイル時間 | 230 ms |
コンパイル使用メモリ | 6,948 KB |
実行使用メモリ | 6,016 KB |
最終ジャッジ日時 | 2024-12-24 07:30:12 |
合計ジャッジ時間 | 3,975 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 42 |
コンパイルメッセージ
Name "main::c" used only once: possible typo at Main.pl line 5. Main.pl syntax OK
ソースコード
($n,$x)=<>=~/\d+/g; $y+=$_ for @a=<>=~//g; @i=sort{$a[$b]<=>$a[$a]}0..$n-1; sub f{ if(++$c>1e6){ $h{0}=''; for$v(@a){ $y-=$v; %h=map{$_+$y>=$x?($_,$h{$_}.'x'):(),$_+$v<=$x?($_+$v,$h{$_}.'o'):()}keys%h } print$h{$x}||No; exit; } my($i,$s,$t,$p)=@_; if($i==$n){ print$h; exit; } my$v=$a[$i[$i]]; if($s-$v>=0&&$v!=$p){ substr($h,$i[$i],1,'o'); f($i+1,$s-$v,$t); } if($t-$v>=0){ substr($h,$i[$i],1,'x'); f($i+1,$s,$t-$v,$v); } } $h=$"x$n; f(0,$x,$y-$x)if$y>=$x; print"No"