728x90
long min = 0;
long mid = 0;
while(min<max) {
mid = (max+min)/2;
long count = 0;
for(int i = 0; i<N; i++) {
}
//Lower-bound일 때는 >= 찾고자 하는 값과 같거나 큰 수가 있는 첫 번째 인덱스
//Upper-bound일 때는 > 찾고자 하는 값보다 큰 수가 있는 첫 번째 인덱스
if(count >= num) max = mid;
else min = mid + 1;
}
기본 틀만 잘 알면 활용할 수 있는데 그게 어렵다......
728x90
'프로그래밍 > ALGORITHM' 카테고리의 다른 글
순열, 조합, 부분집합 (0) | 2022.04.07 |
---|---|
DP(동적계획법) (0) | 2022.04.06 |