贪心 Codeforces Round #301 (Div. 2) B. School Marks
1 /*
2 贪心:首先要注意,y是中位数的要求;先把其他的都设置为1,那么最多有(n-1)/2个比y小的,cnt记录比y小的个数
3 num1是输出的1的个数,numy是除此之外的数都为y,此时的numy是最少需要的,这样才可能中位数大于等于y
4 */
5 #include <cstdio>
6 #include <iostream>
7 #include <algorithm>
8 #include <cstring>
9 using namespace std;
10
11 const int MAXN = 1e3 + 10;
12 const int INF = 0x3f3f3f3f;
13 int a[MAXN];
14
15 int main(void) //Codeforces Round #301 (Div. 2) B. School Marks
16 {
17 //freopen ("B.in", "r", stdin);
18
19 int n, k, p, x, y;
20 while (scanf ("%d%d%d%d%d", &n, &k, &p, &x, &y) == 5)
21 {
22 int sum = 0, cnt = 0;
23 for (int i=1; i<=k; ++i)
24 {
25 scanf ("%d", &a[i]); sum += a[i];
26 if (a[i] < y) cnt++;
27 }
28
29 if (cnt <= n / 2)
30 {
31 int num1 = min (n / 2 - cnt, n - k);
32 int numy = n - k - num1;
33
34 sum += num1 + numy * y;
35 if (sum > x) puts ("-1");
36 else
37 {
38 for (int i=1; i<=num1; ++i) printf ("%d%c", 1, (numy==0 && i==num1) ? '\n' : ' ');
39 for (int i=1; i<=numy; ++i) printf ("%d%c", y, (i==numy) ? '\n' : ' ');
40 }
41 }
42 else puts ("-1");
43 }
44
45 return 0;
46 }
编译人生,运行世界!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!