#include <bits/stdc++.h>
using namespace std;
long long n, k;
long long dp[(int)1e5 + 1];
int main() {
  vector<long long> dd;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    int f;
    cin >> f;
    dd.push_back(f);
  }
  long long ex = 0, ans = 0;
  for (int i = 0; i < dd.size(); i++) {
    if (dd[i] >= k) {
      if (ex > 0) {
        dd[i] += ex;
        long long p = dd[i] / k;
        if (dd[i] % k == 0) {
          ans += p;
          ex = 0;
        } else {
          if (p == 0) {
            ans++;
            ex = 0;
          } else {
            ans += p;
            ex = 0;
            ex += dd[i] % k;
          }
        }
      } else {
        ans += (dd[i] / k);
        ex += (dd[i] % k);
      }
    } else {
      if (ex > 0) {
        dd[i] += ex;
        long long p = dd[i] / k;
        if (dd[i] % k == 0) {
          ans += p;
          ex = 0;
        } else {
          if (p == 0) {
            ans++;
            ex = 0;
          } else {
            ans += p;
            ex = 0;
            ex += dd[i] % k;
          }
        }
      } else {
        ans += (dd[i] / k);
        ex += (dd[i] % k);
      }
    }
  }
  if (ex > 0) {
    ans++;
  }
  cout << ans;
  return 0;
}
