📌
AtCoder Beginner Contest 392 (2)
B問題
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
var m, n int
fmt.Scan(&m, &n)
reader := bufio.NewReaderSize(os.Stdin, 1<<20)
line, _ := reader.ReadString('\n')
line = strings.TrimSpace(line)
parts := strings.Split(line, " ")
x := make(map[int]int, m+1)
ans := make([]int, m+1)
count := 0
for i := 0; i < n; i++ {
xi, _ := strconv.Atoi(parts[i])
x[xi] = xi
}
for i := 1; i < m+1; i++ {
s, ok := x[i]
if ok && s != 0 {
continue
} else {
count++
ans[i] = i
}
}
if count == 0 {
fmt.Println(0)
return
} else {
fmt.Println(count)
}
for i := 1; i < m+1; i++ {
if ans[i] != 0 {
if i == 1 {
fmt.Print(ans[i])
} else {
fmt.Print(" ")
fmt.Print(ans[i])
}
}
}
}
Discussion