Home => ProblemSet => 200.1-56:饮茶
Problem1952--200.1-56:饮茶

1952: 200.1-56:饮茶

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 0
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

小V邀请了n个朋友来品好茶,第1个朋友都自带了一个容量为a1毫升的大杯子,第二个朋友杯子容量a2毫升,第i个朋友的杯子容量为ai毫升,第n个朋友的杯子容量为an毫升。
小V泡了m毫升的茶水(m <= a1+a2+...+an),满足如下规则倒茶每个朋友都会满意:
1,每个杯子至少倒入一半容量的茶水;
2,每个杯子中茶水的毫升数都是整数;
3,茶壶中的茶水都要倒完,不能有剩余;
4,如果有两个茶杯i和j,ai > aj,但茶杯i中的茶水少于茶杯j中的茶水,那么茶杯i的朋友会不满意。
输出每个杯子中的茶水毫升数。如果无法让每个朋友都满意,输出-1。

Input

第一行,两个整数n和m(1 <= n <= 100, 1 <= m <= a1+a2+...+an)。
第二行,n个整数a1,a2,...,an(1 <= ai <= 100)。

Output

一行,按照编号1...n的顺序输出每个茶杯倒入茶水的毫升数。
如果有多个答案,则输出任意一个。如果没有答案,输出-1。

Sample Input Copy

2 10
8 7

Sample Output Copy

6 4

HINT

样例二:
输入:
4 4
1 1 1 1
输出:
1 1 1 1


样例三:
输入:
3 10
9 8 10
输出:
-1


测试点 n ai的性质
1~3 =1 12,16,17 ai 都相等
17~18 =2
4~6 =3
7~16, 19~26 <=100


Source/Category