結果

問題 No.135 とりあえず1次元の問題
ユーザー ayaaya
提出日時 2019-07-30 15:15:58
言語 PHP
(843.2)
結果
AC  
実行時間 173 ms / 5,000 ms
コード長 1,048 bytes
コンパイル時間 1,488 ms
コンパイル使用メモリ 31,100 KB
実行使用メモリ 40,676 KB
最終ジャッジ日時 2024-07-04 18:24:10
合計ジャッジ時間 3,961 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 22
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
/*No.135 とりあえず1次元の問題
問題文
数直線上の整数座標上にN個の点がある。

その中から同じ座標ではない2点を選んで、その2点の距離を求める。
距離は、i番目の点の座標をXi、j番目の点の座標をXjとすると 、
絶対値|Xi−Xj|とする。

この時、最小の距離となる2点を選ぶとして、選んだ2点間の最小距離を求めてください。
条件にあう2点を選べなかったら0を出力してください。

入力
N
X1 X2 … XN
入力は全て整数で与えられる。
・1≤N≤100000=105
・0≤Xi≤1000000=106,1≤i≤N
出力
条件にあう2点間の最小距離を求めてください。
2点を選べなかったら0を出力してください。


*/

$n = trim(fgets(STDIN));
$input=explode(" ",trim(fgets(STDIN)));

rsort($input);
$ans=$input[0]-$input[1];

for($i=1;$i<=$n-1;$i++){
  $diff=$input[$i-1]-$input[$i];
  if($ans==0){
    $ans=$diff;
  }elseif($diff<$ans && $diff!=0){
    $ans=$diff;
  }
}
echo $ans;

?>
0