-
[백준-2805] 나무 자르기 - Java공부/백준 2022. 7. 1. 09:56728x90
https://www.acmicpc.net/problem/2805
백준 2805번 나무 자르기 자바 풀이
난이도: 실버2
이분 탐색을 사용하여 풀이한다.
코드
import java.util.*;public class back2805 {public static void main(String args[]){Scanner scanner = new Scanner(System.in);int n=scanner.nextInt();int m=scanner.nextInt();int arr[]=new int[n];int min=0;int max=0;for(int i=0;i<n;i++){arr[i]=scanner.nextInt();if(max<arr[i]){max=arr[i];}}while(min<max){int mid=(min+max)/2;long sum=0;for(int i=0;i<n;i++){if(arr[i]-mid>0){sum+=(arr[i]-mid);}}if(sum<m){max=mid;}else{min=mid+1;}}System.out.println(min-1);}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-11723] 집합 - Java (0) 2022.07.05 [백준-2630] 색종이 만들기 - Java (0) 2022.07.02 [백준-2559] 수열 - Java (0) 2022.06.30 [백준-25305] 커트라인 - Java (0) 2022.06.27 [백준-11399] ATM - Java (0) 2022.06.23