P16001 [ICPC 2020 NAC] ICPC Camp

题目描述

约翰是今年北美 ICPC 训练营的主要组织者。训练营持续数天。每天会有一场讲座,介绍两道题:一道经典题和一道创意题。每道题在整个训练营期间只会被介绍一次。每道题都有一个整数难度值。 约翰知道,每天的讲座不应过于繁重。因此,同一天两道题的难度之和不得超过某个固定值。此外,每天的两道题难度应大致相当。设 $d$ 为某天介绍的两道题难度之差的绝对值,定义 $D$ 为所有 $d$ 中的最大值。约翰希望 $D$ 尽可能小。 如果约翰精心挑选题目并合理安排,对于 $n$ 天的 ICPC 训练营,他能达到的最小 $D$ 是多少?

输入格式

输入的第一行包含四个空格分隔的整数 $n$、$p$、$q$($1 \le n, p, q \le 2 \cdot 10^5$,$n \le \min(p, q)$)和 $s$($0 \le s \le 10^9$),其中 $n$ 是训练营的天数,$p$ 是经典题的数量,$q$ 是创意题的数量,$s$ 是任意一天中两道题难度之和的最大允许值。 接下来的 $p$ 行,每行包含一个整数 $x$($0 \le x \le 10^9$),表示 $p$ 道经典题的难度。 接下来的 $q$ 行,每行包含一个整数 $y$($0 \le y \le 10^9$),表示 $q$ 道创意题的难度。

输出格式

输出一个整数,表示约翰能达到的最小 $D$;如果无法为 $n$ 个训练日选出题目,则输出 $-1$。

说明/提示

翻译由 DeepSeek V3.2 完成