前缀和

问题引入
package main
import (
"fmt"
)
func main() {
var n, q, l, r int
fmt.Scan(&n, &q)
a := make([]int, n)
ap := make([]int64, n + 1)
ap[0] = 0
for i := 0; i < n; i++ {
fmt.Scan(&a[i])
ap[i + 1] = ap[i] + int64(a[i])
}
for j := 0; j < q; j++ {
fmt.Scan(&l, &r)
fmt.Println(ap[r] - ap[l-1])
}
}


考虑是不是输入太慢了,用Scanner试试
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
/*fmt.Scan()不会处理换行符,所以后面用sc.Scan()会读取换行符*/
/*改用fmt.Scanln()读取一行,且会丢弃换行符*/
var n,

最低0.47元/天 解锁文章
939





