DMOPC '18 Contest 1 P1 - Sorting

View as PDF

Submit solution

Points: 5 (partial)
Time limit: 2.0s
Java 5.0s
Python 5.0s
Memory limit: 64M

Problem type

Roger has a list of N positive integers A_1, A_2, \ldots, A_N. However, his list is not yet finalized. Some of these numbers are wildcards which will be represented as zeroes in the list. Roger will try to assign the wildcards a value so that

  • The list A is sorted from least to greatest
  • All wildcards have the same value, which is a positive integer

Help Roger find out if this is possible. Output YES if he can assign the wildcards a value so that A is sorted and NO otherwise.


0\le A_i\le 1\ 000\ 000 for all 1\le i\le N
If A_i=0, then it is a wildcard, otherwise 1\le A_i\le 1\ 000\ 000.

Input Specification

The first line contains a single integer N.
The next line contains N space-separated integers, A_1, A_2,\ldots, A_N.

Output Specification

Output a single string: YES if it is possible and NO otherwise.

Subtask 1 [30%]

1\le N\le 100

Subtask 2 [30%]

1\le N\le 1\ 000

Subtask 3 [40%]

1\le N\le 200\ 000

Sample Input 1

0 0 1 5 5 5

Sample Output 1


Explanation for Sample Input 1

The first two elements are wildcards. Setting them to 1 gives a sorted list.

Sample Input 2

1 5 5 5 5 1

Sample Output 2


Explanation for Sample 2

There are no wildcards, so Roger cannot do anything. A is not sorted so the answer is no.

Sample Input 3

1 0 2 0 3 0

Sample Output 3



There are no comments at the moment.