#abc476d. Automat

    ID: 4431 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>普及+/提高贪心排序前缀和双指针

Automat

题目描述

在 AtCoder 王国,流通着 11 元纸币和 KK 元纸币两种纸币。

王国里 J 公司的全自动食堂出售甜点和饮料。食堂有一台卖 NN 种甜点的甜点售货机和一台卖 MM 种饮料的饮料售货机。甜点编号 11 到 NN,饮料编号 11 到 MM。

甜点 ii 的价格是 AiA_i 元,饮料 jj 的价格是 BjB_j 元。

支付时:甜点售货机同时接受 11 元和 KK 元纸币,而饮料售货机只接受 KK 元纸币。两台售货机找零时都只用 11 元纸币。同一种商品不能买两个及以上。

高橋君带着 XX 张 11 元纸币和 YY 张 KK 元纸币来到食堂。

请求出他用手上的纸币能买到的商品数量的最大值。

输入格式

N M K
X Y
A_1 ... A_N
B_1 ... B_M

输出格式

输出答案。

输入示例 1

2 3 10
50 6
22 30
20 12 24

输出示例 1

4

示例 1 说明

按下面的方式购买可以买到 44 件商品:

  • 付 22 张 1010 元买饮料 11(2020 元),无找零;
  • 付 22 张 1010 元买饮料 22(1212 元),找回 88 张 11 元;
  • 付 22 张 1010 元和 1010 张 11 元买甜点 22(3030 元),无找零;
  • 付 2222 张 11 元买甜点 11(2222 元),无找零。

买不到 55 件,所以答案是 44。

注意找回的 11 元纸币可以继续用来买甜点,所以钱其实一分没浪费。

输入示例 2

1 7 67
677677677766666 0
777666777
20 12 24 67 67 67 67

输出示例 2

1

示例 2 说明

Y=0Y = 0,一张 KK 元纸币都没有,而饮料售货机只收 KK 元纸币,所以一瓶饮料都买不了。甜点可以用 11 元纸币买,XX 足够买下唯一的那种甜点,答案是 11。

这组数据用来检验「没有 KK 元纸币时饮料全部不可买」这个边界。

输入示例 3

20 20 30
605776135 133105105
97363214 218434035 697895427 109255624 299037330 227873982 195540071 411713803 828357845 244535208 138059186 639510883 39844882 707397687 371274487 696536603 351588202 319490007 47121612 87169661
32256972 567982330 554885983 299718223 443859449 687952877 264684780 666659381 576335424 941894234 406248934 321334900 423472560 863738035 213143887 384834384 468161291 673106162 164648316 15903323

输出示例 3

22

示例 3 说明

N=M=20N = M = 20,答案 2222 说明两种商品都买了不少。这组数据里 XX、YY、AiA_i、BjB_j 都接近 10910^9 量级,总金额 X+Y×KX + Y \times K 接近 4×1094 \times 10^9,已经超出 3232 位整数范围,可用来检验是否使用了 long long。

约束条件

  • 1≤N≤2×1051 \le N \le 2 \times 10^5
  • 1≤M≤2×1051 \le M \le 2 \times 10^5
  • 2≤K≤1092 \le K \le 10^9
  • 0≤X≤10150 \le X \le 10^{15}
  • 0≤Y≤1090 \le Y \le 10^9
  • 1≤Ai≤109 (1≤i≤N)1 \le A_i \le 10^9 \ (1 \le i \le N)
  • 1≤Bj≤109 (1≤j≤M)1 \le B_j \le 10^9 \ (1 \le j \le M)
  • 所有输入值均为整数