B. School Marks
time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Little Vova studies programming in an elite school. Vova and his classmates are supposed to write n progress tests, for each test they will get a mark from 1 to p. Vova is very smart and he can write every test for any mark, but he doesn't want to stand out from the crowd too much. If the sum of his marks for all tests exceeds value x, then his classmates notice how smart he is and start distracting him asking to let them copy his homework. And if the median of his marks will be lower than y points (the definition of a median is given in the notes), then his mom will decide that he gets too many bad marks and forbid him to play computer games.

Vova has already wrote k tests and got marks a1, ..., ak. He doesn't want to get into the first or the second situation described above and now he needs to determine which marks he needs to get for the remaining tests. Help him do that.

Input

The first line contains 5 space-separated integers: nkpx and y (1 ≤ n ≤ 999, n is odd, 0 ≤ k < n, 1 ≤ p ≤ 1000, n ≤ x ≤ n·p,1 ≤ y ≤ p). Here n is the number of tests that Vova is planned to write, k is the number of tests he has already written, p is the maximum possible mark for a test, x is the maximum total number of points so that the classmates don't yet disturb Vova, y is the minimum median point so that mom still lets him play computer games.

The second line contains k space-separated integers: a1, ..., ak (1 ≤ ai ≤ p) — the marks that Vova got for the tests he has already written.

Output

If Vova cannot achieve the desired result, print "-1".

Otherwise, print n - k space-separated integers — the marks that Vova should get for the remaining tests. If there are multiple possible solutions, print any of them.

Sample test(s)
input
5 3 5 18 4
3 5 4
output
4 1
input
5 3 5 16 4
5 5 5
output
-1
Note

The median of sequence a1, ..., an where n is odd (in this problem n is always odd) is the element staying on (n + 1) / 2 position in the sorted list of ai.

In the first sample the sum of marks equals 3 + 5 + 4 + 4 + 1 = 17, what doesn't exceed 18, that means that Vova won't be disturbed by his classmates. And the median point of the sequence {1, 3, 4, 4, 5} equals to 4, that isn't less than 4, so his mom lets him play computer games.

Please note that you do not have to maximize the sum of marks or the median mark. Any of the answers: "4 2", "2 4", "5 1", "1 5", "4 1", "1 4" for the first test is correct.

In the second sample Vova got three '5' marks, so even if he gets two '1' marks, the sum of marks will be 17, that is more than the required value of 16. So, the answer to this test is "-1".

题目大意:

n是n次测试

k是已经考试了k 次

p是最高分数(这题中没有用)

x是n次总成绩的总和

y是这几次成绩的中数

求在剩下的几次测试中,vova都应该考多少分才能满足x和y.(随意的序列都可以)

分析:

根据题目中所说的  至少有(n+1)/2次要>=y

所以我们就先补y然后剩下的全部是1   这样加起来是最小的   如果他还是大与x说明不能满足

如果把剩下的都补成y还是不够(n+1)/2的话也是不能满足的。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue> using namespace std;
#define N 1050
int main()
{
int n,k,p,x,y,a[N],i;
while(scanf("%d %d %d %d %d",&n,&k,&p,&x,&y)!=EOF)
{
int Y=,sum=;
for(i=;i<=k;i++)
{
scanf("%d",&a[i]);
if(a[i]>=y)
Y++;
sum+=a[i];
}
Y=(n+)/-Y;
if(Y<=)
Y=;
int X=n-Y-k;
if(X<=)
X=;
if((sum+Y*y+X)>x || Y>(n-k))
{
printf("-1\n");
}
else
{
for(i=;i<Y;i++)
printf("%d%c",y,(x== && i==y-)?'\n':' ');
for(i=;i<X;i++)
printf("1%c",i==X-?'\n':' ');
}
}
return ;
}

最新文章

  1. 在php中定义常量时,const与define的区别?
  2. 本文使用springMVC和ajax,实现将JSON对象返回到页面
  3. Linux文件系统 (Ubunt)
  4. spring4.0源码导入
  5. linux 防火墙iptables简明教程
  6. IOS开发--C语言入门--如何结合Terminal和Vim开发C语言程序
  7. DHTMLX 前端框架 建立你的一个应用程序 教程(九)--绑定表单Form到表格Grrid中
  8. Present ViewController Modally
  9. AOP举例子
  10. jquery模仿css3延迟效果
  11. 跟我一起学extjs5(18--模块的新增、改动、删除操作)
  12. 机器学习Matlab打击垃圾邮件的分类————朴素贝叶斯模型
  13. Oracle 左连接 left join、右连接right join说明
  14. Legal or Not(拓扑排序判环)
  15. http 状态表
  16. 为wordpress后台登陆添加算术验证码
  17. [NOIP2014D1]
  18. 为什么HTML中的多个空格或是回车在浏览器上只能显示出一个?
  19. HTML5 使用 JS 生成二维码,带头像
  20. 实现自己的Koa2

热门文章

  1. Java8-Lomda表达式
  2. 8.JAVA-向上转型、向下转型
  3. SpringMVC的简单传值
  4. Android 实现对多个EditText的监听
  5. asp IIS网站的配置(Win7下启用IIS7配置ASP运行环境)
  6. VUE 入坑系列 一 事件
  7. Websocket 关闭浏览器报错
  8. node.js入门之一
  9. Entity Framework 6.x介绍
  10. eclipse中同步代码PULL报错checkout conflict with files的解决方法