CF808C Tea Party

题目描述

为庆祝节日,Polycarp 把他的所有朋友都邀请到了茶会上。他的朋友们一人有一个他的茶杯,共 $n$ 个,这些茶杯的容量为 $a_1, a_2, \dots, a_n$。他的茶壶存储着 $w$ 毫升的茶($w \leq a_1 + a_2 + \dots + a_n$)。 Polycarp 想要把茶以满足以下要求的方式沏好: - 每一个茶杯都有至少它的容量的一半的茶 - 每个茶杯都有整数毫升的茶 - 茶壶里面的所有茶都沏到了杯子里 - 每一位朋友都是 *满足的*。 如果一位持有第 $i$ 个茶杯的朋友没有 *满足*,当且仅当存在一个茶杯 $j$ 满足第 $i$ 个茶杯里面的茶比第 $j$ 个茶杯里面的茶少但是 $a_i > a_j$。 对于每个茶杯,输出它应该要沏多少毫升的茶。如果没有一组方案满足以上要求,输出 `-1`。

输入格式

第一行包含两个整数 $n$ 和 $w$($1 \leq n \leq 100$,$1 \leq w \leq \sum_{i = 1}^n a_i$)。 第二行包含 $n$ 个数 $a_1, a_2, \dots, a_n$($1 \leq a_i \leq 100$)。

输出格式

输出每个茶杯要包含多少毫升的茶。如果有多种方案,输出任意一个。 如果无法满足所有条件,输出 `-1`。

说明/提示

在第三个样例中,你应该给第一个茶杯沏至少 $5$ 毫升的茶,第二个至少 $4$ 毫升,第三个至少 $5$ 毫升。加起来是 $14$,大于 $10$ 毫升的可用茶。