#include <bits/stdc++.h>
using namespace std;
long long n, h, k;
long long vys[100011];
long long uvnitr;
long long pridej(long long co) {
  if (h - uvnitr >= co) {
    uvnitr += co;
    return 0;
  } else {
    long long uvolni = co - (h - uvnitr);
    long long nasobek = 0;
    if (uvolni % k != 0) nasobek++;
    nasobek += uvolni / k;
    uvnitr -= k * nasobek;
    if (uvnitr < 0) uvnitr = 0;
    uvnitr += co;
    return nasobek;
  }
}
int main() {
  cin >> n >> h >> k;
  for (long long(a) = 0; (a) < (n); (a)++) cin >> vys[a];
  long long celk = 0;
  for (long long(a) = 0; (a) < (n); (a)++) {
    celk += pridej(vys[a]);
  }
  if (uvnitr % k != 0) {
    celk++;
  }
  celk += (uvnitr / k);
  cout << celk << endl;
  return 0;
}
