题目 20387

程序

查看题解 ↗GitHub ↗如何评测
题号
20387
时间限制
12000 ms
内存限制
512 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 27 - T1

第 1 题 程序 (programy)

时间限制 12 s · 空间限制 512 MB · 37 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 programy.in,输出文件 programy.out。

XV OIJ(波兰信息学奥赛 J 组)— 第一阶段,公开轮

  • 时间限制:12 秒
  • 内存限制:512 MB

题目描述

Bajtazar 正在换电脑,必须把当前的软件从旧电脑搬到新电脑上。由于他从事的工作要求特别注意安全,把程序上传到云端或通过电子邮件发送都不可行。于是他决定使用自己最喜爱的存储介质——CD 光盘!

隔离是最好的安全手段,因此无论光盘上还剩多少空间,Bajtazar 在每张光盘上最多只写一个程序。为了在新电脑上方便地使用软件,Bajtazar 还决定不把程序拆分到多张光盘上,也就是说每个程序都以一整块的形式写在至多一张光盘上。

每个程序占用一定的空间,每张光盘也有自己的容量。显然,要把程序写到某张光盘上,程序占用的空间不能超过光盘容量。

Bajtazar 可能还没意识到,这样他也许无法搬走所有东西。请计算:在遵守他的规则的前提下,他最多能搬走多少个程序?

输入格式

  • 第一行一个自然数 NN(1≤N≤1 000 0001 \le N \le 1\,000\,000),表示程序数量。
  • 第二行包含 NN 个自然数 AiA_i(1≤Ai≤1091 \le A_i \le 10^9),用单个空格分隔,表示各个程序的大小(字节)。
  • 第三行一个自然数 MM(1≤M≤1 000 0001 \le M \le 1\,000\,000),表示光盘数量。
  • 第四行(也是最后一行)包含 MM 个自然数 BiB_i(1≤Bi≤1091 \le B_i \le 10^9),用单个空格分隔,表示各张光盘的容量(字节)。

输出格式

输出恰好一个整数——按 Bajtazar 的规则,最多能搬走的程序数量。

样例

样例 1(pro0a)

输入:

文本
5
3 10 20 7 4
4
100 1 8 5

输出:

文本
3

解释:Bajtazar 可以把第一个程序(占用 3 字节)放在第四张光盘(容量 5)上,把第四个程序(占用 7 字节)放在第三张光盘(容量 8)上,把第二个程序(占用 10 字节)放在第一张光盘(容量 100)上。

样例 2(pro0b)

输入:

文本
3
42 34 21
4
9 20 18 7

输出:

文本
0

解释:每个程序的大小都大于任何一张光盘的容量,所以一个程序都写不下。

其他样例

  • pro0c:N=1000N = 1000,M=1000M = 1000,Aj=100A_j = 100,Bi=10B_i = 10。
  • pro0d:N=1 000 000N = 1\,000\,000,M=1 000 000M = 1\,000\,000,Ai=iA_i = i,Bi=iB_i = i。
  • pro0e:N=1 000 000N = 1\,000\,000,M=1 000 000M = 1\,000\,000,Ai=109A_i = 10^9,Bi=109B_i = 10^9。

数据范围与评分

你可以用几种更简单的变体来解决本题——某些测试组满足额外的限制。下表给出了当你的程序通过这些限制的测试时所能获得的分值(满分 100)。

额外限制 分值
N,M≤1000N, M \le 1000 45
Ai,Bi≤1 000 000A_i, B_i \le 1\,000\,000 60

数据下载

题目 20387 的公开数据

正在读取文件列表…

常用命令

题目 20387 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。