반응형
https://www.acmicpc.net/problem/1654
1654번: 랜선 자르기
첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main {
static int wire[];
static int K,N;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str= br.readLine().split(" ");
K =Integer.parseInt(str[0]); //이미 가진 랜선
N =Integer.parseInt(str[1]); //필요한 랜선 개수
wire = new int[K];
long max=Integer.MIN_VALUE;
for(int i=0;i<K;i++) {
wire[i]=Integer.parseInt(br.readLine());
if(max<wire[i])
max=wire[i];
}
long start=1,end=max+1;
long mid=0;
while(start<=end) {
mid = (start+end)/2;
int cnt=0;
for(int i=0;i<K;i++) {
cnt+=wire[i]/mid;
}
if(cnt>=N) //자른 개수가 필요한 개수보다 크거나 같으면
start=mid+1; //랜선을 더 크게 잘라줘
else //자른 개수가 필요한 개수보다 작으면
end=mid-1; //랜선을 더 작게 잘라줘
}
System.out.println(end);
br.close();
}// main()
}// class Main
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 10699 : 오늘 날짜 _자바 Java (1) | 2023.01.25 |
---|---|
백준 14889 : 스타트와 링크 _자바 Java (0) | 2023.01.25 |
백준 9020 : 골드바흐의 추측 _자바 Java (0) | 2023.01.24 |
백준 1541 : 잃어버린 괄호 _자바 Java (0) | 2023.01.23 |
백준 2805 : 나무 자르기 _자바 Java (0) | 2023.01.23 |
댓글