페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
당신의 친구 Emil은 서로 다른 시간에 울려서 잠을 깨우고 여러 가지 일을 상기시켜 주는 알람을 많이 가지고 있다. 그는 당신에게 자신의 알람 중 일부를 골라 일정 시간 동안 함께 지내는 도전을 제안했다. 당신은 잠을 좀 잘 수 있도록, 방해받지 않는 시간 구간이 가능한 한 길어지게 알람을 고르기로 한다.
Emil은 개의 알람을 가지고 있다. 이 도전에서는 이 알람 중 개를 고르고, 그것들과 초를 보내야 한다. 이 초는 와 사이의 연속된 시간 구간이다. Emil의 번째 알람은 인 시각에 울리며, 여기서 는 양의 정수이다. 당신의 과제는 인 시간 구간 중, 선택한 개의 알람이 그 시간 동안 하나도 울리지 않도록 하는 구간 길이의 가능한 최댓값을 구하는 것이다. 시간 구간은 열린 구간임에 유의하라(즉, 를 만족하는 모든 시각 로 이루어진다). 따라서 알람이 또는 에 울려도 OK이다.
제출한 풀이는 여러 테스트 그룹으로 이루어진 테스트 세트로 평가된다. 한 그룹의 점수를 얻으려면 그 그룹의 모든 테스트 케이스를 통과해야 한다.
그룹 | 점수 | 제한 조건
||
|| 모든 에 대해 .
|| 모든 수 의 합은 최대 이다.
|| 추가 제한 조건이 없다.
첫째 줄에 세 정수 , , 가 주어진다(, ). 각각 Emil이 가진 알람의 수, 골라야 하는 알람의 수, 도전이 진행되는 시간의 길이를 나타낸다.
이후 개의 줄에는 각각 양의 정수 가 먼저 주어지고, 이어서 개의 정수 이 주어진다 (, ). 이는 번째 알람이 울리는 시각들이다.
모든 수 의 합은 을 초과하지 않는다.
개의 알람을 최적으로 선택했을 때 알람이 하나도 울리지 않는 시간 구간의 최대 길이를 정수 하나로 출력한다.
3 2 5
1 1
1 4
2 2 3
3
2 2 7
8 0 1 2 3 4 5 6 7
8 0 1 2 3 4 5 6 7
1
3 2 100
1 10
3 0 2 3
4 3 5 6 8
92
첫 번째 예제에서 최적의 전략은 처음 두 알람을 고르는 것이다. 그러면 시간 구간 가 방해받지 않는다. 이 구간의 길이는 이며, 이보다 더 긴 방해받지 않는 시간 구간을 얻는 것은 불가능하다.
두 번째 예제에서는 두 알람 모두 모든 정수 시각에 울리며, 두 알람을 모두 골라야 한다. 이 경우 방해받지 않는 시간 구간은 연속한 두 정수 사이의 구간뿐이다. 이 구간들의 길이는 모두 이다.
세 번째 예제에서 도전은 초 동안 진행되지만, 모든 알람은 처음 초 동안에만 울린다. 최적의 전략은 마지막 두 알람을 고르는 것이며, 그러면 구간 가 방해받지 않는다.
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.