/////////////////////////////No.135 とりあえず1次元の問題 //入力文字読み取り var x = require('fs').readFileSync('/dev/stdin', 'utf8'); //すべて受け取り改行で区切って格納 var inputall = x.split("\n"); //座標点の合計値 var coordinateall =Number( inputall[0]); //座標点をひとつずつを配列に格納 var coordinate = inputall[1].split(" ").map(Number); //座標点をソート coordinate.sort( function (a, b) { if (a < b) return -1; if (a > b) return 1; return 0; }); //座標間の最小値をcountに代入し、更新していく。初期値を座標間の最大値の+1にしておく var count = 1000001 for (var i = 0; i < coordinateall-1; i++) { var coordinate_difference = coordinate[i + 1] - coordinate[i] if (coordinate_difference < count && coordinate_difference != 0) { count = coordinate_difference; } } //座標間の最小値を出力、座標間が0のみであれば0を出力 if(count ==1000001){ console.log(0) }else{ console.log(count) }