문제
단순한 그리디 문제이다. 자라는 걸리는 시간이 긴 순으로 먼저 심으면 된다. 이장님은 나무가 다 자란 다음날 온다는 것을 명심해야한다.
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n,q;
int main(){
cin>>n;
vector<int> t;
int day=1;
long long maxd=0;
for(int i=0;i<n;i++){
cin>>q;
t.push_back(q);
}
sort(t.begin(),t.end());
if(n==1){
cout<<day+t[0]+1;
return 0;
}
maxd=day+t[t.size()-1];
for(int i=t.size()-2;i>=0;i--){
day++;
//cout<<maxd<<" "<<day+t[i]<<endl;
if(maxd>=day+t[i]){
maxd=maxd;
}
else{
maxd=day+t[i];
}
// cout<<maxd<<endl;
}
cout<<maxd+1;
return 0;
}