๋ฌธ์
์ ๋ต
import java.util.*; class Main { static int n; // ๋๋ฌด์ ์ static int m; // ๊ฐ์ ธ ๊ฐ๋ ค๋ ๊ธธ์ด static int[] arr; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); m = sc.nextInt(); arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } Arrays.sort(arr); int left = 0; int right = arr[arr.length - 1]; int answer = 0; while(left <= right) { int mid = (left + right) / 2; long sum = 0; for(int i = 0; i < arr.length; i++) { if(arr[i] > mid) sum += arr[i] - mid; } if(sum >= m) { answer = mid; left = mid + 1; } else { right = mid - 1; } } System.out.println(answer); } }
- ์ด๋ถ ํ์์ ์ด์ฉํด์ ํธ๋ ๋ฌธ์ ์ ๋๋ค.
- ์ด๋ถ ํ์์ ๊ตฌํํ๋๋ฐ ์ฝ๊ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
- sum์ด 9์๋ฆฌ๋ฅผ ๋์ ์ ์๊ธฐ ๋๋ฌธ์ long์ ์ฌ์ฉํฉ๋๋ค.
'๐ Coding Test > ๋ฐฑ์ค Sliver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 2161] ์นด๋1 | ์๋ฐ (2) | 2024.11.12 |
---|---|
[๋ฐฑ์ค 1260] DFS์ BFS | ์๋ฐ (0) | 2024.11.08 |