반응형
import java.util.Scanner;
public class B_1166 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int l = scanner.nextInt();
int w = scanner.nextInt();
int h = scanner.nextInt();
//시간이 너무 많이 걸리는 것이 문제다. 가장 큰 변을 찾고 그 변을 이분탐색하는 것이 적절하다.
double start = 0;
double stop = Math.max(Math.max(l, w), h);
int i;
for (i = 0; i < 10000; i++) {
double mid = (start+stop) / 2;
if ((long)l/mid * (long)w/mid * (long)h/mid >= n) {
start = mid;
}
else {
stop = mid;
}
}
System.out.println(stop);
}
}
https://www.acmicpc.net/problem/1166
1166번: 선물
첫째 줄에 N L W H가 주어진다. 모든 값은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
반응형
'coding > Java' 카테고리의 다른 글
| [자바] 백준 알고리즘 1076번 (0) | 2020.09.19 |
|---|