#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, k, i, max, cost, a;
  cin >> n >> k;
  long long int x[n], c[n];
  for (i = 0; i < n; i++) cin >> x[i];
  cin >> a;
  for (i = 0; i < n; i++) cin >> c[i];
  set<long long int> s;
  set<long long int>::iterator it;
  for (i = 0, cost = 0, max = k; i < n; i++) {
    s.insert(c[i]);
    while (max < x[i] && !s.empty()) {
      max += a;
      cost += *(s.begin());
      s.erase(s.begin());
    }
    if (max < x[i] && s.empty()) break;
  }
  if (i == n)
    cout << cost << '\n';
  else
    cout << -1 << '\n';
}
