https://www.acmicpc.net/problem/16435
그리디 문제.
스네이크버드보다 높이가 작은 과일들을 먹는데에는 아무런 제한이 없기 때문에,
높이가 작은 과일들을 먼저 먹지 않을 이유가 없다.
입력으로 들어온 $h_i$를 정렬해서
작은순으로 먹게 하면 된다.
#include <bits/stdc++.h>
using namespace std;
vector<int> v;
int main(){
int N,M,k;
cin >> N >> M;
for(int i=0; i<N; i++){
cin >> k;
v.push_back(k);
}
sort(v.begin(), v.end());
for(int i=0; i<N; i++){
if(M >= v[i]){
M++;
}
}
cout << M;
return 0;
}
반응형