#B. 【科大国创杯初中组2025】果汁

    传统题 文件IO:juice 1000ms 1024MiB

【科大国创杯初中组2025】果汁

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

P12249 [科大国创杯初中组 2025] 果汁

题目背景

民间数据,仅供参考。

题目描述

小可可买了美味的果汁,但他太懒了,于是要求奶龙给他倒果汁。

mm 个水杯,第 ii 个水杯容量为 ViV_i。现在有 nn 个单位体积的果汁,小可可要求奶龙一共倒 nn 次(每次倒一个单位体积,正好倒完),第 jj 次倒果汁只能倒进第 aja_jaj+1a_j + 1 个水杯。具体的,如果第 aja_jaj+1a_j + 1 两个水杯都不是满的,那么可以任意倒入其中一个;如果有且仅有一个不是满的,那么只能倒入不是满的的那一个;如果都已经被倒满了,那么小奶龙就可以开心地喝掉这一个单位体积的果汁。并且为了方便,小可可会安排小奶龙从左向右倒果汁,也就是说对于所有 1j<n1 \leq j < n,保证 ajaj+1a_j \leq a_{j+1}

小奶龙想知道自己最多能喝掉单位体积的果汁,你能帮帮他吗?

你一共需要解决 TT 组测试数据。

输入格式

第一行一个正整数 TT,表示数据组数。

对于每组数据,第一行两个正整数 n,mn, m,分别表示一共倒 nn 次以及有 mm 个水杯。

第二行 mm 个正整数 ViV_i

第三行 nn 个正整数 aia_i,保证 aia_i 单调不降。

输出格式

对于每组数据,输出一行一个数,表示小奶龙最多能喝掉多少单位体积的果汁。

输入输出样例 #1

输入 #1

1
3 3
1 1 1
1 2 2

输出 #1

1

说明/提示

样例 1 解释

一共倒三次,第一次可以倒进第一个或者第二个水杯,后两次可以倒进第二个或者第三个水杯。第一次倒进第二个水杯,第二次倒进第三个,此时后两个水杯都满了,第三次没法倒,故答案为 11。显然没有更优的答案。

数据规模与约定

  • 对于 20%20\% 的数据,保证 n,m2n, m \leq 2
  • 对于 50%50\% 的数据,保证 n,m8n, m \leq 8
  • 对于另外 20%20\% 的数据,保证所有 Vi=1V_i = 1
  • 对于另外 20%20\% 的数据,保证所有 aia_i 相同。
  • 对于 100%100\% 的数据,保证 $1 \leq T \leq 50, 1 \leq n \leq 3 \times 10^4, 2 \leq m \leq 3 \times 10^4, 1 \leq a_i < m, 1 \leq V_i \leq n$。且对于所有 1i<n,aiai+11 \leq i < n, a_i \leq a_{i+1}

2025年"科大国创杯"-[ACSP-J]-估分

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-4-21 18:00
结束于
2025-4-30 2:00
持续时间
4 小时
主持人
参赛人数
0