페이지를 불러오는 중…
해결한 사람
2
명
정답률
66.67
%
시간 제한
2000
ms
메모리 제한
2048
MB
자카르타에는 개의 송신탑이 있다. 송신탑들은 일직선상에 위치하며 왼쪽에서 오른쪽으로 부터 까지 번호가 붙어 있다. 인 각 에 대해 송신탑 의 높이는 미터이다. 송신탑들의 높이는 모두 다르다.
어떤 양의 간섭 수치 에 대해 한 쌍의 송신탑 와 ()가 서로 통신할 수 있다는 것은 다음을 모두 만족하는 중개 송신탑 가 존재한다는 것을 의미한다.
팍 뎅클렉은 자신의 새로운 송신 네트워크를 위해 몇 개의 송신탑을 빌리려고 한다. 당신은 다음과 같은 팍 뎅클렉의 질문 개에 대해 답변해야 한다. 파라미터 , 과 (이고 )가 주어지면 팍 뎅클렉이 빌릴 수 있는 송신탑의 최대 개수는 몇 개인가? 단, 다음을 가정한다.
참고로 빌린 두 송신탑이 중개 송신탑 를 이용하여 통신할 수 있을 때 송신탑 는 빌렸어도 되고 빌리지 않았어도 된다.
다음 함수들을 구현해야 한다.
void init(int N, int[] H)
max_towers 호출이 이어진다.int max_towers(int L, int R, int D)
다음 호출들을 생각해보자.
init(7, [10, 20, 60, 40, 50, 30, 70])
max_towers(1, 5, 10)
팍 뎅클렉은 송신탑 , , 그리고 를 빌릴 수 있다. 아래 그림에서 색칠된 사다리꼴이 빌린 송신탑을 나타낸다.

이고 이므로 송신탑 과 는 송신탑 를 중개 송신탑으로 이용해서 서로 통신할 수 있다. 송신탑 과 은 중개 송신탑 를 이용하여 서로 통신할 수 있다. 송신탑 과 는 중개 송신탑 을 이용하여 서로 통신할 수 있다. 개보다 더 많은 송신탑을 빌릴 수 있는 방법이 없으므로 함수는 을 리턴해야 한다.
max_towers(2, 2, 100)
범위에 포함되는 송신탑이 개밖에 없으므로 팍 뎅클렉은 오직 개의 송신탑만 빌릴 수 있다. 따라서 함수는 을 리턴해야 한다.
max_towers(0, 6, 17)
팍 뎅클렉은 송신탑 과 을 빌릴 수 있다. 이고 이므로 송신탑 과 은 중개 송신탑 를 이용하여 서로 통신할 수 있다. 개보다 더 많은 송신탑을 빌릴 수 있는 방법이 없으므로 함수는 를 리턴해야 한다.
max_towers 호출에 대해 값이 동일하다.샘플 그레이더는 다음 형식으로 답을 출력한다.
max_towers 호출의 리턴 값7 3
10 20 60 40 50 30 70
1 5 10
2 2 100
0 6 17
3
1
2
샘플 그레이더의 입력 양식은 다음과 같다.
International Olympiad in Informatics (IOI) 2022, official task package and official Korean statement.
Reporch에서 한국어 번역, 수식 표기, 이미지 호스팅 및 형식을 수정했습니다.
로그인 상태를 확인하는 중입니다.