문제 3576 · 비트 I
배달 대기열의 집중 지점
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 배달 앱은 하나의 거리에서 운영 중인 N개 매장의 배달 대기 주문 수를 보여 준다. 매장은 거리를 따라 일렬로 놓여 있고, 화면에도 같은 순서로 표시된다. 왼쪽부터 매장에 1번부터 N번까지 번호를 붙인다. i번 매장의 현재 대기 주문 수는 A_i이다. 운영 담당자는 주변 매장보다 주문이 몰린 곳을 빠르게 확인하기 위해 집중 지점이라는 표시를 사용한다. 어떤 매장이 집중 지점이 되려면 자신의 대기 주문 수가 바로 왼쪽 매장의 대기 주문 수보다 엄격히 크고, 바로 오른쪽 매장의 대기 주문 수보다도 엄격히 커야 한다. 단순히 같기만 한 경우는 조건을 만족하지 않는다. 두 매장 이상이 같은 주문 수로 이어져 있으면 그 안에서 대표 매장을 따로 고르지 않는다. 거리의 양 끝에는 비교할 이웃이 하나씩 부족하다. 이 문제에서는 1번 매장의 왼쪽과 N번 매장의 오른쪽에 대기 주문 수가 0인 가상의 매장이 있다고 정한다. 가상의 매장은 비교에만 사용하며 결과에 포함하지 않는다. 매장이 하나뿐이면 그 매장의 양쪽을 모두 0과 비교한다. 따라서 매장이 하나이고 주문 수가 양수이면 집중 지점이지만, 주문 수가 0이면 집중 지점이 아니다. 모든 비교는 입력으로 주어진 주문 수를 기준으로 한 번에 수행한다. 어떤 매장이 집중 지점으로 선택되어도 그 매장의 주문 수를 줄이거나 다른 매장으로 옮기지 않는다. 또한 바로 옆 매장만 비교하며, 더 멀리 있는 매장의 주문 수는 영향을 주지 않는다. 현재 주문 수 목록이 주어질 때 집중 지점인 매장을 모두 찾아야 한다. 집중 지점이 여러 개이면 매장 번호가 작은 순서대로 출력한다. 조건을 만족하는 매장이 없으면 개수 0만 출력한다.
입력
첫째 줄에 매장의 수 N이 주어진다. 둘째 줄에 대기 주문 수 A_1, A_2, …, A_N이 공백으로 구분되어 주어진다. N과 모든 A_i는 정수이다. 1 ≤ N ≤ 1,000 0 ≤ A_i ≤ 1,000
출력
첫째 줄에 집중 지점인 매장의 개수 C를 출력한다. C가 양수이면 둘째 줄에 해당 매장 번호 C개를 오름차순으로 공백으로 구분하여 출력한다. C가 0이면 둘째 줄을 출력하지 않는다.
예제 입력 1
7 3 1 4 4 2 5 1
예제 출력 1
2 1 6
예제 입력 2
4 2 2 2 2
예제 출력 2
0
예제 입력 3
1 7
예제 출력 3
1 1
힌트 펼치기
- 배열의 양 끝에 0을 하나씩 추가하면 모든 매장에 같은 비교식을 사용할 수 있다.
관련 서재 장
알고리즘 분류
배열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |