結果
問題 |
No.6 使いものにならないハッシュ
|
ユーザー |
![]() |
提出日時 | 2022-11-16 02:47:44 |
言語 | PHP (843.2) |
結果 |
AC
|
実行時間 | 69 ms / 5,000 ms |
コード長 | 1,085 bytes |
コンパイル時間 | 2,632 ms |
コンパイル使用メモリ | 32,144 KB |
実行使用メモリ | 36,664 KB |
最終ジャッジ日時 | 2024-09-17 01:04:15 |
合計ジャッジ時間 | 5,301 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php fscanf(STDIN,"%d",$K); fscanf(STDIN,"%d",$N); $p = sosuFlags($N); $memo = []; for($i=0,$n=count($p);$i<$n;++$i) $ph[] = hash_($p[$i]); $max = [-1,-1]; for($i=0;$i<$n;++$i){ $nums = []; $j = $i; while($j < $n && !isset($nums[$ph[$j]])){ $nums[$ph[$j]] = true; ++$j; } if($j-$i >= $max[0]){ $max[0] = $j-$i; $max[1] = $i; } } echo $p[$max[1]] . PHP_EOL; function hash_($x){ global $memo; $x = strval($x); if(isset($memo[$x])) return $memo[$x]; $num = 0; for($i=0,$len=strlen($x);$i<$len;++$i) $num += $x[$i]; if($num < 10){ $memo[$x] = $num; return $num; }else{ $memo[$x] = hash_($num); return $memo[$x]; } } function sosuFlags($x){ global $K; $flags = array_fill(0,$x+1,true); $flags[0] = $flags[1] = false; $sq = ceil(sqrt($x)); for($i=2;$i<$sq;++$i){ if(!$flags[$i]) continue; for($j=$i*$i;$j<=$x;$j+=$i) $flags[$j] = false; } $a = []; for($i=$K;$i<=$x;++$i) if($flags[$i]) $a[] = $i; return $a; } ?>