結果
問題 |
No.406 鴨等間隔の法則
|
ユーザー |
|
提出日時 | 2018-06-23 11:47:04 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 500 ms / 2,000 ms |
コード長 | 2,069 bytes |
コンパイル時間 | 3,499 ms |
コンパイル使用メモリ | 80,276 KB |
実行使用メモリ | 57,544 KB |
最終ジャッジ日時 | 2024-07-07 12:31:12 |
合計ジャッジ時間 | 15,828 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
import java.util.*; import java.util.stream.Stream; // ***問題文*** // 太郎君は、家の近くにある河川敷で、N(≥3)羽の鴨が休んでいるのを見つけました。この河川敷はまっすぐです。 // そこで、上流のある地点を原点x=0として、それぞれの鴨の休んでいる位置をx軸のx≥0を満たす部分にある点として // 表すことにします。そして、このN // 羽の鴨について、次の二つの条件が同時に成り立つときに限り、鴨等間隔の法則を満たしているということにします。 // どの2羽の鴨の座標も相異なる。 // 隣り合う2羽の鴨の座標の差がすべて等しい。 // 太郎君は、鴨の数Nと鴨の休んでいる座標x0,x1,⋯,xN−1を記録しました。これらが与えられるので、 // N羽の鴨が鴨等間隔の法則を満たしているどうかを判定してください。 // ***入力*** // N // x0 x1 ⋯ xN−1 // 1行目には、太郎君の見つけた鴨の数N(3≤N≤105)が正整数で与えられる。 // 2行目には、鴨i(0≤i≤N−1)の休んでいる座標xi(0≤xi≤108)が非負整数で、スペースで区切られて与えられる。 // ここで、「j<kならばxj<xkである」とは限らない。 // ***出力*** // N羽の鴨が鴨等間隔の法則を満たしていれば文字列YESを、さもなければ文字列NOを出力してください。 // 最後に改行してください。 public class No406 { public static void main(String[] args) { // 標準入力から読み込む際に、Scannerオブジェクトを使う。 Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); int[] x = Stream.of(sc.nextLine().split(" ", 0)).mapToInt(Integer::parseInt).toArray(); Arrays.sort(x); String out = "YES"; int temp = x[1] - x[0]; for(int i = 0; i < n - 1; i++){ int sa = x[i + 1] - x[i]; if(temp != sa || sa == 0) {; out = "NO"; break; } } System.out.println(out); } }