← Home
For problem statement at 0-999/500-599/530-539/535/problemC.txt this is a correct solution, but verifier at 0-999/500-599/530-539/535/verifierC.go ends with All 205 tests passed can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var A, B, n int64
	if _, err := fmt.Fscan(in, &A, &B, &n); err != nil {
		return
	}

	for i := int64(0); i < n; i++ {
		var l, t, m int64
		fmt.Fscan(in, &l, &t, &m)

		sl := A + (l-1)*B
		if sl > t {
			fmt.Fprintln(out, -1)
			continue
		}

		left := l
		right := (t-A)/B + 1

		var ans int64 = -1
		for left <= right {
			mid := left + (right-left)/2
			smid := A + (mid-1)*B
			sum := (mid - l + 1) * (sl + smid) / 2
			if sum <= t*m {
				ans = mid
				left = mid + 1
			} else {
				right = mid - 1
			}
		}
		fmt.Fprintln(out, ans)
	}
}