← Home
For problem statement at 1000-1999/1100-1199/1110-1119/1119/problemB.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1110-1119/1119/verifierB.go ends with All tests passed can you fix the verifier? package main

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

func main() {
	var n int
	var h int64
	r := bufio.NewReader(os.Stdin)
	fmt.Fscan(r, &n, &h)
	
	a := make([]int64, n)
	for i := range a {
		fmt.Fscan(r, &a[i])
	}
	
	l, r_b, ans := 1, n, 1
	for l <= r_b {
		m := (l + r_b) / 2
		b := make([]int64, m)
		copy(b, a[:m])
		sort.Slice(b, func(i, j int) bool { return b[i] > b[j] })
		
		var sum int64
		for i := 0; i < m; i += 2 {
			sum += b[i]
		}
		
		if sum <= h {
			ans = m
			l = m + 1
		} else {
			r_b = m - 1
		}
	}
	
	fmt.Println(ans)
}