페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
Johanna는 자신의 아파트를 보수하고 있다. Johanna는 우연에 맡기는 것을 좋아하지 않기 때문에, 보수 공사 중에 필요한 못의 개수를 정확히 세세하게 계획해 두었다. 전체적으로 길이가 인 못 개가 필요하다. 그녀의 못 상자에는 길이가 인 못 개가 있다.
Johanna가 길이가 인 못이 필요할 때, 이면 길이가 인 못을 사용할 수 있다. 더 긴 못을 필요한 길이와 정확히 같아질 때까지 잘라낼 수 있기 때문이다. 반면, 짧은 못 두 개를 결합해 더 긴 못 하나로 만들거나 못 하나를 여러 번 자를 수는 없다(못대가리는 하나뿐이기 때문이다).
Johanna는 보수 공사를 시작하기 전에 다음을 알고 싶다.
구매해야 하는 못의 개수, 그리고
구매해야 하는 못들의 길이.
그녀는 가능한 한 적은 수의 못을 구매하고 싶으며, 또한 구매하는 못들의 전체 길이도 가능한 한 짧기를 원한다.
그룹 | 점수 | 제한
| | Johanna는 이미 가진 모든 못을 사용해야 하며, 또한 이들 중 어느 것도 잘라야 할 필요가 있을 필요가 없다.
| | 추가 제한 없음.
첫째 줄에 두 정수 와 가 주어진다. 각각 Johanna에게 필요한 못의 개수와 Johanna가 가진 못의 개수이다. 둘째 줄에 Johanna에게 필요한 못들의 길이를 나타내는 개의 정수 가 주어진다. 셋째 줄에 Johanna가 가진 못들의 길이를 나타내는 개의 정수 가 주어진다.
프로그램은 먼저 Johanna가 구매해야 하는 못의 최소 개수를 나타내는 정수 하나를 출력해야 한다. 다음 줄에는 Johanna가 구매해야 하는 못들의 길이를 오름차순으로 출력해야 한다.
6 3
64 13 45 28 82 77
45 82 64
3
13 28 77
3 2
11 50 45
45 100
1
11
예제 1에서는 충족하며 Johanna는 길이가 , , 인 추가 못 세 개만 보충하면 된다.
예제 2에서는 Johanna가 길이가 인 못을 하나 더 구매하고, 또한 길이가 인 못을 까지 잘라야 한다. 길이가 인 못을 구매하고 길이가 인 못을 길이 까지 자를 수도 있었지만, 그렇게 하면 구매해야 하는 못들의 전체 길이가 더 길어진다.
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.