페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
40000
ms
메모리 제한
1024
MB
개의 구간이 주어진다. 구간은 두 양의 정수 과 로 나타낼 수 있다. 구간은 에서 시작하여 에서 끝나며, 로 나타낸다. 구간들은 서로 다르지 않을 수 있으므로, 이 같고 도 같은 구간이 여러 개 있을 수 있다.
최대 번 자를 수 있다. 에서 자르면, 이고 인 모든 구간 가 잘린다. 에서 구간을 자른다는 것은 그 구간을 와 의 두 구간으로 나누는 것으로 정의한다. 자르기는 정수 지점에서만 수행할 수 있음에 유의하라. 또한 구간의 끝점( 또는 )에서 자르는 것은 아무 효과가 없으며 구간을 나누지 않는다.
최대 번의 자르기를 통해 얻을 수 있는 구간 수의 최댓값을 구해야 한다.
메모리 제한: 1 GB. .
시간 제한: 20초. . . 모든 에 대해 .
시간 제한: 40초. . . 모든 에 대해 .
입력의 첫 번째 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다.
각 테스트 케이스는 두 정수 과 가 포함된 줄로 시작하며, 각각 구간의 수와 수행할 수 있는 자르기 횟수의 최댓값을 나타낸다. 이어서 개의 줄이 주어진다. 번째 줄에는 두 정수 과 가 주어지며, 번째 구간을 나타낸다.
각 테스트 케이스마다 Case #$x$: $y$을 포함하는 한 줄을 출력한다. 여기서 는 테스트 케이스 번호이며(1부터 시작), 은 위에서 설명한 대로 최대 번의 자르기를 통해 얻을 수 있는 구간 수의 최댓값이다.
1
3 3
1 3
2 4
1 4
Case #1: 7
주어진 예제에서는 구간 수를 최대로 만들기 위해 과 에서 잘라야 한다. 에서 첫 번째로 자른 뒤 구간들은 가 된다. 에서 두 번째로 자른 뒤 구간들은 가 된다. 어떤 구간도 더 자를 수 없음을 알 수 있으므로, 답은 이다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.