코드
#include <iostream>
#include <algorithm>
using namespace std;
int n, l, a[10003],res;
int main() {
cin >> n >> l;
for(int i = 0; i < n; i++) cin >> a[i];
sort(a, a + n);
for(int i = 0; i < n; i++) {
if(a[i] <= l) l++; // 정렬을 했기 때문에 앞에서부터 찾아 먹으면 됨
if(a[i] > l) break; // 더이상 먹을 수 없으면 break
}
cout << l << '\n';
return 0;
}
풀이
정렬을 해서, 새의 키보다 낮은 높이에 있는 과일을 먹으면 된다. 정렬이 싫으면 우선순위 큐로 최소힙을 구성해, 작은 거부터 꺼내먹어도 무방하다.
'백준' 카테고리의 다른 글
[백준] 11055번 가장 큰 증가하는 부분 수열 C++ 코드 (0) | 2024.09.15 |
---|---|
[백준] 1600번 말이 되고픈 원숭이 C++ 코드 (1) | 2024.09.08 |
[백준] 2225번 합분해 C++ 코드 (0) | 2024.09.08 |
[백준] 1520번 내리막 길 C++ 코드 (0) | 2024.09.08 |
[백준] 3109번 빵집 C++ 코드 (0) | 2024.09.08 |