아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Возрастающий массив

시간 제한2초메모리 제한1024 MB

요약
일부 원소의 부호를 바꿔 배열을 비감소 수열로 만들거나, 불가능하다고 판정하는 문제입니다.
난이도

보통10점 중 6점

유형
그리디, 동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

В свободное время Валериан любит решать и задавать Лорелин разные задачи. Сегодня он придумал такую задачу: дан массив из nn целых чисел a_1,a_2,…a_na\_1, a\_2, \dots a\_n. Можно некоторые элементы массива a_ia\_i заменить на −a_i-a\_i. Требуется сделать массив неубывающим или сказать, что это невозможно.

입력

В первой строке дано одно целое число nn --- количество элементов в массиве (1≤n≤100,0001 \le n \le 100\\,000). В следующей строке дано nn целых чисел a_ia\_i --- исходный массив (∣a_i∣≤100,000|a\_i| \le 100\\,000).

출력

Если нельзя заменить некоторые элементы a_ia\_i на −a_i-a\_i, чтобы массив стал неубывающим, выведите <<No>>.

Иначе, в первой строке выведите <<Yes>>. Во второй строке выведите nn чисел b_ib\_i, которые образуют неубывающий массив, и для всех 1≤i≤n1 \le i \le n выполняется b_i=a_ib\_i = a\_i или b_i=−a_ib\_i = -a\_i.

예제2

  1. 예제 1

    입력
    5
    1 -1 -2 3 6
    
    예상 출력
    Yes
    -1 -1 2 3 6
    
  2. 예제 2

    입력
    3
    1 1 0
    
    예상 출력
    Yes
    -1 -1 0