atcoder#ABC302D. [ABC302D] Impartial Gift

[ABC302D] Impartial Gift

配点 : 400400

問題文

高橋君は青木君とすぬけ君に 1 つずつ贈り物を送ることにしました。 青木君への贈り物の候補は NN 個あり、 それぞれの価値は A1,A2,,ANA_1, A_2, \ldots,A_N です。 すぬけ君への贈り物の候補は MM 個あり、 それぞれの価値は B1,B2,,BMB_1, B_2, \ldots,B_M です。

高橋君は 22 人への贈り物の価値の差が DD 以下になるようにしたいと考えています。

条件をみたすように贈り物を選ぶことが可能か判定し、可能な場合はそのような選び方における贈り物の価値の和の最大値を求めてください。

制約

  • 1N,M2×1051\leq N,M\leq 2\times 10^5
  • 1Ai,Bi10181\leq A_i,B_i\leq 10^{18}
  • 0D10180\leq D \leq 10^{18}
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM DD

A1A_1 A2A_2 \ldots ANA_N

B1B_1 B2B_2 \ldots BMB_M

出力

高橋君が条件をみたすように贈り物を選ぶことができる場合、 条件をみたし、かつ価値の和が最大になるように贈り物を選んだ時の価値の和を出力せよ。 高橋君が条件をみたすように選ぶことができない場合、1-1 を出力せよ。

2 3 2
3 10
2 5 15
8

高橋君は贈り物の価値の差を 22 以下にする必要があります。 青木君に価値 33, すぬけ君に価値 55 の贈り物を渡すと条件をみたし、価値の和としてはこのときが最大となります。 よって、3+5=83+5=8 を出力します。

3 3 0
1 3 3
6 2 7
-1

条件をみたすように贈り物を選ぶことは不可能です。 また、同一人物に対して、同じ価値の贈り物が複数存在することもあります。

1 1 1000000000000000000
1000000000000000000
1000000000000000000
2000000000000000000

答えが 3232 bit整数型の範囲に収まらないことがあることに注意してください。

8 6 1
2 5 6 5 2 1 7 9
7 2 5 5 2 4
14