| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 (추가 시간 없음) | 1024 MB (추가 메모리 없음) | 10 | 7 | 7 | 100.000% |
대회 운영에 있어 제일 귀찮은 것은 에디토리얼 작성 및 편집이지만, 나중에 대회 문제를 업솔빙하거나 풀이가 궁금한 사람들은 에디토리얼이 없다면 참고할 수 있는 수단이 없어 불편할 수 있다. 또한 에디토리얼이 있더라도 특정 대회 혹은 문제의 에디토리얼을 찾는 것은 쉽지 않을 수 있다. 이에 유틸은 CP(Competitive Programming) 대회들의 에디토리얼을 모아둔 GitHub 레포지토리를 만들어 정리해 많은 PS(Problem Solving)러들에게 도움을 주고자 한다.
이 소식을 들은 동우는 본인의 게으름을 반성하며 6회 MatKor Cup이 끝나고 여유가 생기면 이제는 진짜로 4회 대회부터 공개되지 않은 에디토리얼을 이번 대회까지 포함해 모두 작성, 편집해 유틸의 레포지토리에 공유하고자 한다. 이를 위해 동우는 에디토리얼 문서 작성을 해야 한다.
문서 작성을 위해 동우가 사용하는 프로그램의 한 줄의 길이는 $L$이며, 공백으로 구분된 몇 개의 단어로 이루어진 문서를 작성하려고 한다. 양쪽 정렬을 사용할 시 다음과 같이 정렬되며, 각 줄의 공백은 다음과 같이 정의된다.
동우는 문서를 작성할 때, 각 줄의 공백의 최댓값이 최소가 되도록, 만약 그런 경우가 여러 가지일 경우 총 줄의 수가 최소가 되도록 하고 싶다. 동우가 작성할 $N$개의 단어의 $W_1,W_2,\cdots ,W_N$의 길이 $a_1,a_2,\cdots ,a_N$과 $L$이 주어진다.
단어 $W_1,\cdots ,W_N$을 차례로 작성할 때 각 줄의 공백의 최댓값이 최소가 되도록 해보자.
첫 번째 줄에 단어의 개수 $N(1\le N\le 10^6),ドル $L(1\le L\le 10^{9})$이 공백으로 구분되어 주어진다.
두 번째 줄에 각 단어의 길이 $a_1,a_2,\cdots ,a_N(1\le a_i\le L)$이 공백으로 구분되어 주어진다.
첫 번째 줄에 단어 $W_1,\cdots ,W_N$을 차례로 작성할 때 각 줄의 공백의 최댓값의 최솟값 $z$를 출력한다.
출력한 값이 정답과 절대/상대 오차가 10ドル^{-9}$ 이하라면 정답으로 한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 28 | $L\le 10$ |
| 2 | 23 | $N\le 10^3$ |
| 3 | 23 | $N\le 10^5$ |
| 4 | 26 | 추가적인 제한 조건 없음 |
8 10 5 8 2 1 4 6 1 2
1.5
같은 줄에 쓰는 단어들을 괄호로 묶어 나타냈을 때 $(5) ,(8) ,(2,1,4) ,(6) ,(1,2)$로 나눠쓰면 각 줄의 공백은 각각 $\frac{5}{4} ,\frac{2}{7} ,\frac{3}{2} ,\frac{4}{5} ,1$이다.
2 10 3 5
1
두 단어를 모두 한 줄에 쓰게 된다면 공백의 길이는 1ドル$이다.
12 91 12 52 34 23 11 12 8 7 4 1 12 17
7.181818182
University > 고려대학교 > MatKor Cup > 제6회 고려대학교 MatKor Cup: 2025 Winter P번