728x90
반응형
https://www.acmicpc.net/problem/1300
풀이
배열을 직접 만들어서 정렬 후 그 위치의 값을 출력하면 메모리 초과가 나옵니다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine()), k = Integer.parseInt(br.readLine());
long left = 1, right = k;
long answer = 0;
while(left <= right) {
long mid = (left + right) / 2;
long cnt = 0;
for(int i = 1; i <= n; i++) {
cnt += Math.min(mid / i, n);
}
if(cnt < k) {
left = mid + 1;
}
else {
answer = mid;
right = mid - 1;
}
}
System.out.print(answer);
}
}
728x90
반응형
'백준 > 1 - 5000' 카테고리의 다른 글
[백준] 1715번 : 카드 정렬하기(JAVA) (0) | 2021.10.29 |
---|---|
[백준] 2075번 : N번째 큰 수(JAVA) (0) | 2021.10.25 |
[백준] 2199번 : DNA 해독2(JAVA) (0) | 2021.10.14 |
[백준] 1307번 : 마방진(JAVA) (0) | 2021.09.26 |
[백준] 2210번 : 숫자판 점프(JAVA) (0) | 2021.09.10 |
댓글