package main import . "fmt" import . "os" import bf "bufio" func main() { rd:=bf.NewReader(Stdin) wr:=bf.NewWriter(Stdout) defer wr.Flush() var n int Fscan(rd,&n) a := make([]int, n) s := make([]int, n) for i := range a { Fscan(rd,&a[i]) s[i] = a[i] if i > 0 && s[i] > 0 && s[i-1] > 0 { s[i] += s[i-1] } } for i := range s[1:] { j := n-1-i if s[j] > 0 && s[j-1] > 0 { s[j-1] = s[j] } } var q int Fscan(rd, &q) for ;q>0;q-- { var x, b int Fscan(rd,&x,&b) x-- if a[x] == 0 { Fprintln(wr, b+s[max(0,x-1)]+s[min(n-1,x+1)]) } else { Fprintln(wr, s[x]-a[x]+b) } } }