printРабочее место участника

printЗадачи

1155. Hell on the Markets

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Most financial institutions had become insolvent during financial crisis and went bankrupt or were bought by larger institutions, usually by banks. By the end of financial crisis of all the financial institutions only two banks still continue to operate. Financial markets had remained closed throughout the crisis and now regulators are gradually opening them. To prevent speculation and to gradually ramp up trading they will initially allow trading in only one financial instrument and the volume of trading will be limited to `i` contracts for `i`-th minute of market operation.
Two banks had decided to cooperate with the government to kick-start the market operation. The boards of directors had agreed on trading volume for each minute of this first trading session. One bank will be buying ai contracts (`1\ ≤\ a_i\ ≤\ i`) during `i`-th minute (`1\ ≤\ i\ ≤\ n`), while the other one will be selling. They do not really care whether to buy or to sell, and the outside observer will only see the volume `a_i` of contracts traded per minute. However, they do not want to take any extra risk and want to have no position in the contract by the end of the trading session. Thus, if we define `b_i\ =\ 1` when the first bank is buying and `b_i\ =\ -1` when the second one is buying (and the first one is selling), then the requirement for the trading session is that `sum_{i=1}^n\ a_i*b_i\ =\ 0`.
Your lucky team of three still works in the data center (due to the crisis, banks now share the data center and its personnel) and your task is to find such `b_i` or to report that this is impossible.
Input
The first line of the input file contains the single integer number `n` (`1\ ≤\ n\ ≤\ 100\ 000`). The second line of the input file contains `n` integer numbers – `a_i` (`1\ ≤\ a_i\ ≤\ i`).
Output
The first line of the output file must contain "Yes" if the trading session with specified volumes is possible and "No" otherwise. In the former case the second line must contain `n` numbers – `b_i`.

Sample Input 1

4
1 2 3 4

Sample Output 1

Yes
1 -1 -1 1

Sample Input 2

4
1 2 3 3

Sample Output 2

No
Source: ACM ICPC NEERC, 2008
loading