하루하나코딩
프로그래머스 : 입국심사 c++
HAHAKO
2023. 2. 22. 22:22
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
long long solution(int n, vector<int> times) {
long long answer = 0;
sort(times.begin(), times.end());
long long min = 1;
long long max = n*(long long)times.front();
while(min <= max){
long long avg = (min + max)/2;
long long tmp = 0;
for(int i = 0; i < times.size(); i++){
tmp += avg/times[i];
}
if(tmp >= n){
max = avg -1;
answer = avg;
}
else min = avg + 1;
}
return answer;
}
알게된 점
이분탐색 테마에 있었음에도 어떻게 푸는지 몰라서 구글링을 했다,,,
그냥 이분탐색 하면 된다.