|
||||||||||
对象存储调度问题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 886 Accepted Submission(s): 355 Problem Description 题目背景:在华为云的对象存储调度过程中,我们会把数据对象存入分条中,而当数据对象较小时,我们会考虑聚合多个对象到一个分条中。如图所示: 题目描述:给定 $n$ 个大小 $A_1, A_2, \cdots, A_n$ 为 2 的整数次幂的数据对象,以及 $m$ 个剩余空间为 $B_1, B_2, \cdots, B_m$ 的分条。问是否可以通过对数据对象进行聚合,使得能用现有的 $m$ 个分条把所有 $n$ 个对象存下来。$T$ 组数据。 Input 第一行一个正整数 $T \, (1\le T \le 1000)$,表示数据组数。 对于每组数据: 第一行两个正整数 $n,m\,(1 \le n,m \le 10^5)$,分别表示数据对象的数量和分条的数量。 第二行 $n$ 个整数 $A_1, A_2, \cdots, A_n \, (1 \le A_i \le 10^9)$,表示数据对象的大小,保证 $A_i$ 为 2 的整数次幂。 第三行 $m$ 个整数 $B_1, B_2, \cdots, B_m \, (1 \le B_i \le 10^9)$,表示分条的剩余空间。 保证所有数据的 $\sum n, \sum m \le 5\times 10^5$。 Output 对于每组数据: 输出一行一个字符串 “Yes” 或者 “No”(均不含引号),分别表示分条能以及不能存下所有的数据对象。 Sample Input
Sample Output
Hint 对于第一组样例,可以把大小为 4 的数据对象放进剩余空间为 4 的分条,其余对象放入剩余空间为 12 的分条。 Source | ||||||||||
|