처음에는 큐를 사용해 풀어보려 했지만 큐를 사용할 경우 정지조건을 충족시키는 식이 추가로 필요해서 시 벡터로 돌아왔다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void input_info(int* N, int* L, vector <int> &fruit)
{
int i, f;
cin >> *N >> *L;
for (i = 0; i < *N; i++)
{
cin >> f;
fruit.push_back(f);
}
sort(fruit.begin(), fruit.end());
return;
}
int find_answer(int N, int L, vector <int> fruit)
{
int i;
for (i = 0; i < fruit.size(); i++)
{
if (L >= fruit[i])
{
L++;
}
else
{
break;
}
}
return L;
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, L;
vector <int> fruit;
input_info(&N, &L, fruit);
cout << find_answer(N, L, fruit) << "\n";
return 0;
}