Problem G

Statement
Copy Copied
Description:
You are given an array $$$a$$$ consisting of $$$n$$$ non-negative integers.

You have to replace each $$$0$$$ in $$$a$$$ with an integer from $$$1$$$ to $$$n$$$ (different elements equal to $$$0$$$ can be replaced by different integers).

The value of the array you obtain is the number of integers $$$k$$$ from $$$1$$$ to $$$n$$$ such that the following condition holds: there exist a pair of adjacent elements equal to $$$k$$$ (i. e. there exists some $$$i \in [1, n - 1]$$$ such that $$$a_i = a_{i + 1} = k$$$). If there are multiple such pairs for some integer $$$k$$$, this integer is counted in the value only once.

Your task is to obtain the array with the maximum possible value.

Input Format:
The first line contains one integer $$$n$$$ ($$$2 \le n \le 3 \cdot 10^5$$$) — the number of elements in the array.

The second line contains $$$n$$$ integers $$$a_1, a_2, \dots, a_n$$$ ($$$0 \le a_i \le \min(n, 600)$$$) — the elements of the array.

Output Format:
Print $$$n$$$ integers not less than $$$1$$$ and not greater than $$$n$$$ — the array with the maximum possible value you can obtain.

If there are multiple answers, print any of them.

Note:
None

Submissions

IDLanguageExit CodeTimestampCodeStdoutStderrRetry
5741 go 0 2026-03-20T04:23:07.466769Z View View View Retry
5739 go 1 2026-03-20T04:15:53.774159Z View View View Retry
5710 go 1 2026-03-20T04:07:28.100958Z View View View Retry
5681 cpp 1 2026-03-20T03:44:05.461631Z View View View Retry

Evaluations

Eval IDRun IDProviderModelLangSuccessTimestampPromptResponseStdoutStderrRetry
3126 20260319-230006 gemini gemini-3-pro-preview go false 2026-03-20T02:14:14.325069Z View View View View Retry