algoqna

[BOJ18113] 그르다 김가놈 본문

프로그래밍/기타 문제풀이

[BOJ18113] 그르다 김가놈

kkalgo 2023. 7. 21. 07:37

 

 

18113번: 그르다 김가놈

첫 번째 줄에 손질해야 하는 김밥의 개수 N, 꼬다리의 길이 K, 김밥조각의 최소 개수 M이 주어진다. (1 ≤ N ≤ 106, 1 ≤ K, M ≤ 109, N, K, M은 정수) 두 번째 줄부터 김밥의 길이 L이 N개 주어진다.

www.acmicpc.net

 

1. 문제의 조건에 따라 김밥의 길이들이 K보다 작거나 같은지, 2K보다 작은지,  2K보다 큰지를 판별하여 김밥의 길이를 갱신한다

2. 모든 김밥의 길이 중 가장 긴 김밥의 길이를 기록해둔다

   - 이분 탐색을 하기 위해 가장 긴 길이가 기준이 된다.

3. 가장 긴 김밥의 길이가 0이라면 -1

4. 나누고 싶은 김밥의 최소 개수가 1개라면 가장 긴 길이가 답

5. 위의 3, 4번의 경우가 아니라면 1 ~ 가장 긴 길이 사이에서 길이를 줄이고 늘려가며 M이 될 수 있는 길이의 최댓값을 찾는다.

 

 

 

https://github.com/ssjjaa-algo/AlgoAndMySQL/blob/master/src/Baekjoon/BOJ18113.java

 

'프로그래밍 > 기타 문제풀이' 카테고리의 다른 글

[BOJ2233] 사과나무  (0) 2023.12.09
[BOJ14437] - LCA  (0) 2023.07.11
[BOJ14466] 소가 길을 건너간 이유 6  (0) 2023.07.07
[BOJ2812] 크게 만들기  (0) 2023.07.04
[BOJ2146] 다리 만들기  (0) 2023.06.29