문제 3162 · 비트 II
버스 노선의 한산한 정류장
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 마을의 순환버스 운영팀은 정류장별 승차 기록을 살펴보고 있다. 운영팀이 조사한 노선에는 정류장이 N개 있으며, 버스가 방문하는 순서대로 1번부터 N번까지 번호가 붙어 있다. 조사원은 같은 날 같은 버스에 각 정류장에서 새로 탄 사람 수를 기록했다. 이 기록은 해당 정류장의 승차 인원이며, 이미 버스에 타고 있던 사람이나 그 정류장에서 내린 사람은 포함하지 않는다. 운영팀은 앞뒤 정류장보다 승차 인원이 적은 곳을 안내판 점검 후보로 정하려 한다. 구체적으로 i번 정류장이 후보가 되려면 바로 앞의 i-1번 정류장과 바로 뒤의 i+1번 정류장이 모두 있어야 하고, i번의 승차 인원이 두 정류장의 승차 인원보다 각각 엄격하게 작아야 한다. 앞이나 뒤 중 한 곳과 인원이 같으면 후보가 아니다. 앞뒤 두 정류장의 인원이 서로 같은지는 후보 선정에 영향을 주지 않는다. 노선 이름에 순환버스라는 말이 들어가지만, 이번 조사는 한 번의 운행 기록을 일렬로 펼친 자료를 사용한다. 따라서 마지막 정류장과 첫 번째 정류장을 서로 이웃으로 취급하지 않는다. 1번과 N번 정류장은 후보가 될 수 없으며, 정류장이 한 개나 두 개뿐인 경우에도 후보는 없다. 후보 여부는 처음 주어진 기록만으로 각각 판단한다. 어떤 정류장이 후보로 선정되더라도 그 정류장을 기록에서 지우거나 다른 정류장의 이웃 관계를 바꾸지 않는다. 승차 인원이 0명인 정류장도 같은 규칙으로 판단한다. 조건을 만족하는 정류장의 번호를 작은 순서대로 모두 출력한다. 여러 후보가 있으면 하나를 고르지 않고 모두 출력하며, 후보가 하나도 없으면 -1만 출력한다.
입력
첫째 줄에 정류장 수를 나타내는 정수 N이 주어진다. 1 ≤ N ≤ 1,000이다. 둘째 줄에 각 정류장의 승차 인원을 나타내는 정수 A1, A2, …, AN이 공백으로 구분되어 주어진다. 모든 i에 대해 0 ≤ Ai ≤ 1,000이다.
출력
후보 정류장이 있으면 그 번호를 오름차순으로 한 줄에 공백으로 구분하여 출력한다. 후보 정류장이 없으면 -1을 출력한다.
예제 입력 1
7 8 3 6 6 2 5 1
예제 출력 1
2 5
예제 입력 2
5 4 4 4 4 4
예제 출력 2
-1
예제 입력 3
1 0
예제 출력 3
-1
힌트 펼치기
- 양쪽 이웃이 모두 있는 정류장만 살펴본다.
- 각 정류장의 값을 바로 앞과 바로 뒤의 값에 각각 비교한다.
관련 서재 장
알고리즘 분류
배열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |