codeforces 540B-贪心
来源:互联网 发布:淘宝的收费方式 编辑:程序博客网 时间:2024/05/29 10:40
题意:必须做完n个任务,每个任务的分值是1~p,现已做了k个,知道了分别得到的分数,求剩下的任务做完后能不能满足条件:总分不超过x,中位数不低于y
分析:
贪心。总分要尽可能小,并且要满足中位数的要求,所以就用y作为最小的中位数,固定中位数后,就在其前后补数让中位数真的满足条件,每次补1或者y。
脑袋中要有补数的画面感
代码:
#include<iostream>#include<cstring>using namespace std;int main(){int n,k,p,x,y;int mid;while(cin>>n>>k>>p>>x>>y){ int tmp=0,a,sum=0; for(int i=0;i<k;i++){ cin>>a; tmp+=a; if(a<y) sum++; } if(sum>n/2) cout<<"-1"<<endl;else{int t1=min(n-k,n/2-sum);int t2=(n-k-t1)*y;if(t1+t2+tmp>x) cout<<"-1"<<endl;else{for(int i=0;i<t1;i++) cout<<"1 ";for(int i=0;i<t2/y;i++) cout<<y<<" ";cout<<endl;}} }}
0 0
- codeforces 540B-贪心
- Codeforces 540B - School Marks (贪心)
- [CodeForces 540B]School Marks[贪心]
- Codeforces 540B School Marks 【贪心构造】
- codeforces 3B (贪心)
- codeforces 604B (贪心)
- Codeforces 682B贪心
- CodeForces - 762B(贪心)
- 贪心-Codeforces 777B
- Codeforces 191B(贪心)
- Codeforces 700B 贪心
- codeforces 3B Lorry 贪心
- Codeforces 3B Lorry 贪心
- CodeForces 287B 二分贪心
- Codeforces 364B 背包+贪心
- CodeForceS#276-B(贪心)
- CodeForces 339B (贪心模拟)
- Codeforces 597B Restaurant 【贪心】
- 阿里云CentOS 6.5 Docker无法启动 Could not find a free IP address range for interface 'docker0' 最方便的解决方法
- C# 遍历控件问题
- StaggeredGridView+universal-image-loader加载网路图片实现瀑布流
- static--main--单例
- 画三角形
- codeforces 540B-贪心
- codeforces 557d
- iOS数据存储
- moodle在xampp环境下的安装以及使用
- 3.Android Studio 之命令行开发安卓
- 邮箱 万维网通讯 smtp
- IOS开发小技巧——强大的企业级调试日志——IOS第三方库CocoaLumberjack/CocoaLumberjack(1)
- 每天学一点7
- Ubuntu Kylin linux下安装Vivado