← Home
 ```go
package main

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

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

	var n, d int
	fmt.Fscan(in, &n, &d)

	s := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(in, &s[i])
	}

	p := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(in, &p[i])
	}

	target := s[d-1] + p[0]

	reqs := make([]int, 0)
	for i := 0; i < n; i++ {
		if i == d-1 {
			continue
		}
		if s[i] > target {
			reqs = append(reqs, -1)
		} else {
			reqs = append(reqs, target-s[i]+1)
		}
	}

	sort.Ints(reqs)
	fixed := 0
	for fixed < len(reqs) && reqs[fixed] == -1 {
		fixed++
	}
	reqs = reqs[fixed:]

	prizes := p[1:]
	sort.Ints(prizes)

	saved := 0
	j := 0
	for i := 0; i < len(prizes) && j < len(reqs); i++ {
		for j < len(reqs) && reqs[j] <= prizes[i] {
			j++
		}
		if j < len(reqs) {
			saved++
			j++
		}
	}

	fmt.Fprintln(out, n-fixed-saved)
}
```