For problem statement at 1000-1999/1600-1699/1660-1669/1667/problemC.txt this is a correct solution, but verifier at 1000-1999/1600-1699/1660-1669/1667/verifierC.go ends with wrong answer on test 1
input:27
expected:18
1 9
2 8
3 7
4 6
5 5
6 4
7 3
8 2
9 1
10 17
11 16
12 15
13 14
14 13
15 12
16 11
17 10
27 27
found:18
1 9
9 1
2 8
8 2
3 7
7 3
4 6
6 4
10 17
17 10
11 16
16 11
12 15
15 12
13 14
14 13
5 5
18 18
exit status 1 can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func main() {
var n int
if _, err := fmt.Scan(&n); err != nil {
return
}
if n == 1 {
fmt.Println(1)
fmt.Println("1 1")
return
}
k := (2*n + 1) / 3
m := n - k
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
fmt.Fprintln(out, k)
if m > 0 {
for i := 1; i <= m/2; i++ {
a := i
b := m - i + 1
fmt.Fprintf(out, "%d %d\n", a, b)
fmt.Fprintf(out, "%d %d\n", b, a)
}
for i := 1; i <= (m-1)/2; i++ {
a := m + i
b := 2*m - i
fmt.Fprintf(out, "%d %d\n", a, b)
fmt.Fprintf(out, "%d %d\n", b, a)
}
var rem int
if m%2 == 0 {
rem = m + m/2
} else {
rem = (m + 1) / 2
}
fmt.Fprintf(out, "%d %d\n", rem, rem)
}
for x := 2*m; x <= k; x++ {
fmt.Fprintf(out, "%d %d\n", x, x)
}
}