CF338E Optimize!
题目描述
Manao 正在解决这样一个问题:

他想出了一个能得到正确答案但效率很低的解法。你将获得他解决该问题的伪代码,其中函数 getAnswer 用于计算问题的答案:
```
getAnswer(a[1..n], b[1..len], h)
answer = 0
for i = 1 to n-len+1
answer = answer + f(a[i..i+len-1], b, h, 1)
return answer
f(s[1..len], b[1..len], h, index)
if index = len+1 then
return 1
for i = 1 to len
if s[index] + b[i] >= h
mem = b[i]
b[i] = 0
res = f(s, b, h, index + 1)
b[i] = mem
if res > 0
return 1
return 0
```
你的任务是帮助 Manao 优化他的算法。
输入格式
第一行包含用空格分隔的整数 $n$、$len$ 和 $h$($1 \le len \le n \le 150000$,$1 \le h \le 10^9$)。
第二行包含 $len$ 个用空格分隔的整数 $b_1, b_2, \ldots, b_{len}$($1 \le b_i \le 10^9$)。
第三行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)。
输出格式
输出一个整数,表示 Manao 问题的答案。
说明/提示
由 ChatGPT 5 翻译