結果
問題 |
No.406 鴨等間隔の法則
|
ユーザー |
|
提出日時 | 2016-08-03 21:18:41 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 17 ms / 2,000 ms |
コード長 | 942 bytes |
コンパイル時間 | 13,144 ms |
コンパイル使用メモリ | 223,392 KB |
実行使用メモリ | 6,144 KB |
最終ジャッジ日時 | 2024-07-07 11:16:42 |
合計ジャッジ時間 | 14,746 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
package main import ( "bufio" "os" "strings" "strconv" "sort" "fmt" ) func main() { N := largeInt() x := largeIntArray() sort.Ints(x) diff := x[1] - x[0] if diff == 0 { fmt.Println("NO") return } for i := 1; i < N; i++ { if diff != x[i] - x[i - 1] { fmt.Println("NO") return } } fmt.Println("YES") return } var rdr = bufio.NewReaderSize(os.Stdin, 1000000) func readLine() string { buf := make([]byte, 0, 1000000) for { l, p, e := rdr.ReadLine() if e != nil { panic(e) } buf = append(buf, l...) if !p { break } } return string(buf) } func largeInt() (ret int) { s := readLine() ret, e := strconv.Atoi(s) if e != nil { panic(e) } return } func largeIntArray() []int { s := readLine() vs := strings.Split(s, " ") N := len(vs) data := make([]int, N) for i := 0; i < N; i++ { var e error data[i], e = strconv.Atoi(vs[i]) if (e != nil) { panic(e) } } return data }