#include <bits/stdc++.h>
using namespace std;
int N, M, P, head, tail, q[100001];
long long d[100001], a[100001], s[100001], f[100001], g[100001];
int main() {
  cin >> N >> M >> P;
  for (int i = 2; i <= N; i++) cin >> d[i], d[i] += d[i - 1];
  for (int i = 1; i <= M; i++) {
    int h, t;
    cin >> h >> t;
    a[i] = t - d[h];
  }
  sort(a + 1, a + M + 1);
  for (int i = 1; i <= M; i++) s[i] = s[i - 1] + a[i], g[i] = a[i] * i - s[i];
  for (int j = 2; j <= P; j++) {
    q[head = 1] = 0, q[tail = 2] = 1;
    for (int i = 2; i <= M; i++) {
      while (head < tail &&
             g[q[head + 1]] + s[q[head + 1]] - g[q[head]] - s[q[head]] <=
                 a[i] * (q[head + 1] - q[head]))
        head++;
      f[i] = g[q[head]] + a[i] * (i - q[head]) - s[i] + s[q[head]];
      while (head < tail &&
             (g[i] + s[i] - g[q[tail]] - s[q[tail]]) *
                     (q[tail] - q[tail - 1]) <=
                 (g[q[tail]] + s[q[tail]] - g[q[tail - 1]] - s[q[tail - 1]]) *
                     (i - q[tail]))
        tail--;
      q[++tail] = i;
    }
    for (int i = 1; i <= M; i++) g[i] = f[i];
  }
  cout << f[M] << endl;
  return 0;
}
