P12636 [UOI 2020] Array Reduction

Description

Given an array $a$ consisting of $n$ integers. For one operation, you can choose position $i$ ($1 \leq i \leq n$), decrease $a_i$ by $k$, and increase the value of all other elements $a_j$ ($1 \leq j \leq n, i \neq j$) by $t$. Find the minimum number of operations needed to make all elements of the array less than or equal to zero (i.e., non-positive), or report that it is impossible to do so.

Input Format

The first line contains three integers $n$, $k$, $t$ ($1 \leq n \leq 10^6$, $0 \leq k, t \leq 10^9$) --- the length of the array and the operation parameters. The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($-10^{18} \leq a_i \leq 10^9$) --- the initial values of the array elements.

Output Format

Output a single integer $c$ --- the minimum number of operations needed to make all elements of the array less than or equal to zero. If it is impossible, output $-1$. If it is possible, output $n$ integers $cnt_i$ ($1 \leq i \leq n$), which represent the number of operations performed on the element with index $i$. Note that the equality $\sum\limits_{i=1}^n cnt_i = c$ must hold.

Explanation/Hint

- ($3$ points) $t = 0$; - ($5$ points) $1 \leq n \leq 300, 0 \leq |a_i| \leq 300, 0 \leq t \leq 10^6$; - ($8$ points) $1 \leq n \leq 3000, 0 \leq |a_i| \leq 3000, 0 \leq t \leq 10^6$; - ($9$ points) $1 \leq n \leq 10^3, 1 \leq a_i \leq 10^9, 0 \leq t \leq 10^6$; - ($5$ points) $1 \leq n \leq 10^4, 1 \leq a_i \leq 10^9$; - ($13$ points) $1 \leq n \leq 10^5, 1 \leq a_i \leq 10^9$; - ($8$ points) $1 \leq a_i \leq 10^9$; - ($9$ points) $1 \leq n \leq 10^3, 0 \leq t \leq 10^6$; - ($5$ points) $1 \leq n \leq 10^4$; - ($14$ points) $1 \leq n \leq 10^5$; - ($21$ points) without additional constraints.