#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
long long a[maxn];
int main() {
  int N;
  long long K;
  scanf("%d%lld", &N, &K);
  for (int i = 1; i <= N; i++) scanf("%lld", &a[i]);
  if (N == 1) {
    if (a[1] % K == 0)
      printf("%lld\n", a[1] / K);
    else
      printf("%lld\n", a[1] / K + 1);
    return 0;
  }
  long long res = a[1];
  long long ans = 0;
  for (int i = 2; i <= N - 1; i++) {
    long long t = 0;
    if (res % K == 0)
      ans += res / K;
    else {
      ans += res / K + 1;
      t = K - res % K;
    }
    a[i] -= t;
    res = max(a[i], 0LL);
  }
  res += a[N];
  if (res % K == 0)
    ans += res / K;
  else
    ans += res / K + 1;
  printf("%lld\n", ans);
  return 0;
}
