[BOJ 21319] 챔피언 (Easy)

View as PDF

Submit solution

Points: 3
Time limit: 2.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

입력 조건 외 챔피언 (Hard)와의 차이는 없다.</p>

민겸이는 세계적인 격투기 선수 육성 회사의 회장이다. 민겸이는 격투기 선수의 영입을 위해 세계 격투기 챔피언십을 관람하기로 했다. 세계 격투기 챔피언십의 규칙은 아래와 같다.

격투기 선수는 N명이고, 일렬로 서 있다. 선수들은 각각 전투력을 가지고 있다. 격투기 선수들은 양쪽으로 이웃한 두 명의 선수들 중 한 명에게 싸움을 걸어 격투를 벌인다. 이 때, 전투력이 높은 격투기 선수가 승리한다. 격투에서 승리한 선수는 자신감이 붙어 전투력이 1 증가한다. 패배한 선수는 경기장을 빠져나가며 패배한 선수의 양 옆으로 이웃한 선수가 서로 이웃하게 된다. 전투력이 같은 두 선수가 격투를 벌이면 결판이 나지 않기 때문에 격투가 취소된다. 또한, 두 명의 선수가 격투를 하고 있을 때, 다른 선수들은 모두 그 시합을 지켜보느라 바쁘기 때문에 격투를 하지 않는다. 격투를 0회 이상 진행하여 마지막에 유일한 선수가 남는다면, 그 선수는 챔피언이 된다.

민겸이는 돈이 아주 많기 때문에, 세계 격투기 챔피언십에서 챔피언이 될 가능성이 있는 선수들을 모두 영입하려고 한다. 격투기 선수들의 전투력이 주어졌을 때, 민겸이가 영입해야 할 격투기 선수들을 민겸이에게 알려주자!

입력 형식

입력은 두 줄로 주어진다.</p>

첫 번째 줄에는 격투기 선수의 수 N(1 ≤ N ≤ 200,000)이 주어진다.

두 번째 줄에는 1번부터 N번까지 각 격투기 선수의 전투력 a1, a2, …, aN(1 ≤ ai ≤ 109, 1 ≤ i ≤ N) 이 정수로 순서대로 주어진다.

단, 각 격투기 선수들의 초기 전투력은 비내림차순으로 정렬되어 있다.

출력 형식

챔피언이 될 수 있는 격투기 선수들의 번호를 공백으로 구분하여 오름차순으로 출력한다. 각 선수들의 번호는 1부터 N까지이다.</p>

만약 아무도 챔피언이 될 수 없다면, -1을 출력한다.

예제 입력 1

4
1 1 3 4

예제 출력 1

3 4

예제 입력 2

2
5 5

예제 출력 2

-1

Comments

There are no comments at the moment.