CF-81C3
分组
⏱ 2.0s💾 256MB
📋 题目描述
现有 个整数 请你将他们按照要求分成两组:第一组的数据个数为 ,第二组的数据个数为 ,第一组的平均数和第二组的平均数之和要越大越好。
📥 输入格式
第一行仅有一个整数 ( ),第二行包含两个正整数 和 ( , ),第三行包含一个整数序列 ( )。
📤 输出格式
仅有一行,包含一个整数序列 ( ),两两之间用一个空格分隔。如果 代表原序列中的第 个数被分在第一组,如果 代表原序列中的第 个数被分在第一组。如果有多个满足题意的解,则输出字典序最小那个解。
💡 提示
在第一个样本中,第一科目的平均分数为4,而第二个样本的平均分数为4.5。总平均分为8.5。
📝 样例 1
输入
5 3 2 4 4 5 4 4
输出
1 1 2 1 2
📝 样例 2
输入
4 2 2 3 5 4 5
输出
1 1 2 2
📝 样例 3
输入
6 1 5 4 4 4 5 4 4
输出
2 2 2 1 2 2
📚 来源
Problem:CF-81C
💡 题目讲解
1
理解题意
把 个数分成两组:第一组 个,第二组 个。。
目标:第一组平均数 + 第二组平均数 尽量大。
设第一组数的和为 ,总数为 。第二组和为 。
目标
如果 , → 越大越好 → 第一组拿最大的 个数。
如果 , → 越小越好 → 第一组拿最小的 个数。
排序,按极端取。
1 / 5