Source Code
#include <iostream>

using namespace std;

int n,k,t[100000], d, l, temp;

int main()
{
    cin >> n >> k;
    for(int i = 0; i < n; i++){
        cin >> t[i];
    }
    for (int i = 0; i < n-1; i++){
        for(int j = 0; j < n-1; j++){
            if (t[j] > t[j+1]){
                temp = t[i];
                t[i] = t[j];
                t[j] = temp;
            }
        }
    }
    d = t[k-1];
    l = d;
    for (int i = k-1; i >= 0; i--){
        if (l >= t[i]){
            l--;
        }
        else{
            l = t[i];
            d++;
        }
    }
    cout << d;
    return 0;
}
Copy
Cutting Trees laith.tak01
GNU G++17
2064 ms
440 KB
Time Limit Exceeded