백준 C++

백준 3079번 입국심사 C++

Srff5123 2025. 4. 29. 15:24
728x90

1. 문제 설명

해외 여행을 떠난 친구는 총 M명이다.

입국 심사대는 N개가 있고

각 입국심사관이 심사를 하는 시간은 모두 제각각이다.

K번 심사대에 앉아있는 심사관이 심사하는 시간은 T이다.

운이 좋게도 현재 심사대에는 친구들 밖에 없는 상태로 바로 심사를 받을 수 있다.

이떄 심사를 받을때 걸리는 최소시간을 알아내는 문제이다.

 

예시를 들면 

두 개의 심사대가 있고 7초와 10초가 걸린다고 한다.

현재 인원이 6명이면

가장 첫 두사람은 바로 심사를 받고

7초에 세번째, 10초에 네번째 사람이 받고

14초에 5번째이고 20초에 10초짜리 검사대가 나오지만 

1초 기다렸다가 7초짜리를 받으면 28초 안에 모두 심사를 통과할 수 있게 된다.

 

이분탐색을 이용하고,

Right값을 가장 오래걸리는 시간

Left를 1초로 해주고

M을 미들값으로 하여

이분탐색을 진행해준다.

M시간 안에 모든 사람이 통과되는 것을 찾아준다.

728x90