package main import ( "bufio" "fmt" "math" "os" "strconv" ) func main() { // Scan開始前にSplitを設定しないとPanicになるため、ここに移動 s.Split(bufio.ScanWords) var N int // fmt.Scanとbufio.Scannerを混ぜるとバッファリングの問題で正しく読めないため、nextIntに統一 N = nextInt() a := make([]int64, 2) for i := 0; i < N; i++ { x := int64(nextInt()) a[abs(x%2)] += 1 } fmt.Println(abs(a[0] - a[1])) } func abs(x int64) int64 { return int64(math.Abs(float64(x))) } var s = bufio.NewScanner(os.Stdin) func next() string { // s.Split(bufio.ScanWords) // 削除: Scan後に呼ぶとPanicになるため s.Scan() return s.Text() } func nextInt() int { i, e := strconv.Atoi(next()) if e != nil { panic(e) } return i }