key比较大要用map,要注意的是go的map不是有序的,要先放到切片里面排个序再根据切片的顺序输出
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
var t, k, v int
in := bufio.NewReader(os.Stdin)
sz := make(map[int]int)
px := []int{}
fmt.Fscan(in, &t)
for i := 0; i < t; i++ {
fmt.Fscan(in, &k, &v)
sz[k] += v
}
for k := range sz {
px = append(px, k)
}
sort.Ints(px)
for _, v := range px {
fmt.Println(v, sz[v])
}
}

京公网安备 11010502036488号