#167. 学习小组
学习小组
学习小组
题目描述
班主任计划将班级里的 n 名同学划分为若干个学习小组,每名同学都需要分入某一个学习小组中。班级里的同学依次以 1, 2, ..., n 编号,第 i 名同学有其发言积极度 c[i]。
观察发现,如果一个学习小组中恰好包含 k 名同学,则该学习小组的基础讨论积极度为 a[k],综合讨论积极度为 a[k] 加上小组内同学的最大发言积极度与最小发言积极度之差。
给定基础讨论积极度数组 a,请你计算将这 n 名同学划分为学习小组的所有可能方案中,综合讨论积极度之和的最大值。
输入格式
第一行,一个正整数 n,表示班级人数。
第二行,n 个非负整数 c[1], c[2], ..., c[n],表示每位同学的发言积极度。
第三行,n 个非负整数 a[1], a[2], ..., a[n],表示不同人数学习小组的基础讨论积极度。
输出格式
输出一行,一个整数,表示所有划分方案中,学习小组综合讨论积极度之和的最大值。
样例
输入样例 1
4 2 1 3 2 1 5 6 3
输出样例 1
12
样例解释 1
把 4 人分成两个各 2 人的小组,基础积极度 5 + 5 = 10,加上各组内极差,总和为 12。
输入样例 2
8 1 3 2 4 3 5 4 6 0 2 5 6 4 3 3 4
输出样例 2
21
数据范围
对于所有测试点,保证 1 <= n <= 300,0 <= c[i] <= 10^4,0 <= a[i] <= 10^4。