알고리즘
백준 16435 스네이크버드
킨글
2024. 5. 6. 10:32
문제
설명
입력 받는 순서대로 비교하면서 L을 더해줄려고 하다가 예제2에서 순간 헷갈렸다.
그래서 우선순위큐로 넣은 후에 순차적으로 비교해주도록 처리하였다.
소스
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.math.BigDecimal;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class test1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
final int N = Integer.parseInt(st.nextToken());
int L = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int i = 0; i < N; i++) {
int n = Integer.parseInt(st.nextToken());
pq.add(n);
}
while(!pq.isEmpty()) {
if(pq.poll() <= L) {
L++;
}
}
bw.write(String.valueOf(L));
bw.flush();
bw.close();
}
}