For problem statement at 1000-1999/1200-1299/1260-1269/1266/problemE.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1260-1269/1266/verifierE.go ends with panic: invalid argument to Intn
goroutine 1 [running]:
math/rand.(*Rand).Intn(0x40000a0b08?, 0x80b64?)
/usr/local/go/src/math/rand/rand.go:180 +0x64
main.randomTest(0x40000edca0)
/home/ubuntu/codeforces/1000-1999/1200-1299/1260-1269/1266/verifierE.go:188 +0x128
main.generateTests()
/home/ubuntu/codeforces/1000-1999/1200-1299/1260-1269/1266/verifierE.go:169 +0x27c
main.main()
/home/ubuntu/codeforces/1000-1999/1200-1299/1260-1269/1266/verifierE.go:47 +0x10c
exit status 2 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var n int
fmt.Fscan(reader, &n)
a := make([]int64, n+1)
var ans int64
for i := 1; i <= n; i++ {
fmt.Fscan(reader, &a[i])
ans += a[i]
}
var q int
fmt.Fscan(reader, &q)
d := make([]int64, n+1)
type pair struct {
s, t int
}
milestones := make(map[pair]int)
max := func(x, y int64) int64 {
if x > y {
return x
}
return y
}
for i := 0; i < q; i++ {
var s, t, u int
fmt.Fscan(reader, &s, &t, &u)
p := pair{s, t}
if v, exists := milestones[p]; exists {
ans -= max(0, a[v]-d[v])
d[v]--
ans += max(0, a[v]-d[v])
delete(milestones, p)
}
if u != 0 {
ans -= max(0, a[u]-d[u])
d[u]++
ans += max(0, a[u]-d[u])
milestones[p] = u
}
fmt.Fprintln(writer, ans)
}
}
```