#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100, P = 120;
int n, m, p;
long long ans;
long long d[N], h[N], t[N], g[N], sumg[N], sumd[N], q[N], f[P][N];
int main() {
  scanf("%d%d%d", &n, &m, &p);
  for (int i = 2; i <= n; i++) cin >> d[i], sumd[i] = sumd[i - 1] + d[i];
  for (int i = 1; i <= m; i++) cin >> h[i] >> t[i], g[i] = t[i] - sumd[h[i]];
  sort(g + 1, g + m + 1);
  for (int i = 1; i <= m; i++) {
    sumg[i] = sumg[i - 1] + g[i];
    f[1][i] = i * g[i] - sumg[i];
  }
  ans = f[1][m];
  for (int i = 2; i <= p; i++) {
    int head = 1, tail = 0;
    q[++tail] = 0;
    for (int j = 1; j <= m; j++) {
      while (head < tail &&
             f[i - 1][q[head + 1]] + sumg[q[head + 1]] - g[j] * q[head + 1] <=
                 f[i - 1][q[head]] + sumg[q[head]] - g[j] * q[head])
        head++;
      f[i][j] =
          f[i - 1][q[head]] + sumg[q[head]] - sumg[j] + g[j] * (j - q[head]);
      while (head < tail &&
             (f[i - 1][q[tail]] + sumg[q[tail]] - f[i - 1][q[tail - 1]] -
              sumg[q[tail - 1]]) *
                     (j - q[tail]) >=
                 (f[i - 1][j] + sumg[j] - f[i - 1][q[tail]] - sumg[q[tail]]) *
                     (q[tail] - q[tail - 1]))
        tail--;
      q[++tail] = j;
    }
    ans = min(ans, f[i][m]);
  }
  cout << ans;
  return 0;
}
