結果
| 問題 | No.406 鴨等間隔の法則 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-12-06 15:59:33 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 528 ms / 2,000 ms |
| コード長 | 1,454 bytes |
| 記録 | |
| コンパイル時間 | 3,037 ms |
| コンパイル使用メモリ | 82,704 KB |
| 実行使用メモリ | 60,864 KB |
| 最終ジャッジ日時 | 2025-12-06 15:59:50 |
| 合計ジャッジ時間 | 15,139 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 29 |
ソースコード
import java.io.*;
import java.util.*;
import java.util.stream.*;
class Process {
private int[] x;
Process(int[] x) {
this.x = x;
}
// 重複した要素がないか
private boolean isUnique(int[] x) {
return (x.length == IntStream.of(x).distinct().toArray().length);
}
// 等間隔か
private boolean isEqualIntervals(int[] x) {
int[] sortedX = IntStream.of(x).sorted().toArray();
int interval = sortedX[1] - sortedX[0];
for(int i = 1; i < (x.length - 1); i++) {
if((sortedX[i + 1] - sortedX[i]) != interval) {
return false;
}
}
return true;
}
String getResult() {
return ((isUnique(x) && isEqualIntervals(x)) ? "YES" : "NO");
}
}
public class Main {
public static void main(String[] args) throws IOException {
var bufferedReader = new BufferedReader(new InputStreamReader(System.in));
var printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
// 入力
int N = Integer.parseInt(bufferedReader.readLine().trim());
int[] x = Stream.of(bufferedReader.readLine().trim().split("[ ]+")).mapToInt(Integer::parseInt).toArray();
// 処理および出力
printWriter.println((new Process(x)).getResult());
bufferedReader.close();
printWriter.close();
}
}