#include <bits/stdc++.h>
int a[1000000];
using namespace std;
int m[2000000];
int main() {
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  sort(a, a + n);
  int ma = a[n - 1];
  int mi = a[0];
  for (int i = 0; i < n; i++) {
    m[a[i]]++;
  }
  stack<int> s;
  while (ma != mi) {
    int cnt = m[ma];
    int cnt0 = cnt;
    if (!s.empty() && s.top() + cnt <= k) {
      cnt += s.top();
      s.pop();
    }
    s.push(cnt);
    m[ma] = 0;
    ma--;
    m[ma] += cnt0;
  }
  cout << s.size() << endl;
  return 0;
}
