[BOJ] 3079. 입국심사
15 Apr 2026
Reading time ~1 minute
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int[] times = new int [N];
for(int i = 0; i < N; i++) {
times[i] = sc.nextInt();
}
long answer = 0l;
long left = 1l;
long right = 1_000_000_000_000_000_000l;
while(left <= right) {
long mid = left + right >>> 1;
if(isOK(mid,times,M)) {
answer = mid;
right = mid - 1;
} else {
left = mid + 1;
}
}
System.out.println(answer);
}
public static boolean isOK(long mid, int[] times, int M) {
long sum = 0;
for(int i = 0; i < times.length; i++) {
sum += mid/times[i];
if(sum >= M) return true;
}
return false;
}
}