← Home
For problem statement at 0-999/800-899/810-819/810/problemB.txt this is a correct solution, but verifier at 0-999/800-899/810-819/810/verifierB.go ends with All tests passed can you fix the verifier? package main

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

func min64(a, b int64) int64 {
	if a < b {
		return a
	}
	return b
}

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

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

	deltas := make([]int64, n)
	var base int64

	for i := 0; i < n; i++ {
		var k, l int64
		fmt.Fscan(in, &k, &l)
		sold := min64(k, l)
		base += sold
		doubled := min64(2*k, l)
		deltas[i] = doubled - sold
	}

	sort.Slice(deltas, func(i, j int) bool { return deltas[i] > deltas[j] })

	for i := 0; i < f && i < n; i++ {
		base += deltas[i]
	}

	fmt.Fprintln(out, base)
}