PS/BOJ

백준 9237번: 이장님 초대 (C++)

도비(Doby) 2022. 4. 29. 19:57

https://www.acmicpc.net/problem/9237

 

9237번: 이장님 초대

입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000)

www.acmicpc.net


Solved By: Sort

 

오래 걸리는 묘목을 순서로 정렬을 한 후, 오래 걸리는 묘목부터 빠르게 심어야 최소 일수를 구할 수 있음을 알 수 있다. 심는데 하루가 걸리므로 묘목을 담은 배열에 처음부터 1일씩 더해가며 걸리는 일수를 구해준다. 그리고, 시작일이 1일이므로 걸리는 최소일 수를 더하여 출력해준다.

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> v;

bool cmp(int a, int b) {return a > b;}

int main(){
    int n; cin >> n;
    for(int i = 0; i < n; i++){
        int a; cin >> a; v.push_back(a);
    }
    
    sort(v.begin(), v.end(), cmp);
    
    for(int i = 0; i < n; i++){
        v[i] += (i + 1);
    }
    
    sort(v.begin(), v.end(), cmp);
    cout << v[0] + 1;
    return 0;
}