Source Code
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    long long  n,k;
    long long  arr[1000001];
    cin>>n>>k;
    
    
    long long c=0;
    for(int i=0;i<n;i++)
    cin>>arr[i];
    
    sort(arr,arr+n);
    long long  z=arr[k-1];
    long long  m=arr[k-1];
    for(int j=k-1;j>=0;j--)
    {
        if(z>=arr[j])
        z--;
        else
        {
            c+=(arr[j]-z);
            z+=c;
            z--;
        }
    }
    cout<<c+m;
}
    /*int t;
    cin>>t;
    int arr[1000001];
    while(t--)
    {
        cin>>n;
        for(int i=0;i<n;i++)
           cin>>arr[i];
            for(int i=0;i<n-1;i++)
            {
             for(int j=i+1;j<n;j++)
             {
                 if(arr[i]<arr[j]&&arr[j]%arr[i]==0)
                 c++;
                 
             }
             
            }
           
    }
}*/
Copy
Cutting Trees Nada M
GNU G++17
76 ms
8.2 MB
Wrong Answer