rt,AC 22 WA 32
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 5e5 + 10;
int n; ll c[MAXN];
inline
void add(int k, int x) {
for (int i = k; i <= n; i += i & -i) c[i] += x;
}
inline
int ask(int k) {
ll res = 0;
for (int i = k; i; i &= i - 1) res += c[i];
return res;
}
inline
int find() {
int k = 0; ll sum = 0;
for (int i = 18; ~i; i--) {
if (k + (1 << i) > n || sum + c[k + (1 << i)] >= 0) continue;
k += 1 << i, sum += c[k];
}
return min(n, k + 1);
}
int q, b, k, x, p, a[MAXN];
int main() {
scanf("%d%d%d", &n, &b, &q);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]), add(i, a[i] - b);
for (; q--;) {
scanf("%d%d", &k, &x), add(k, x - a[k]), a[k] = x, p = find();
printf("%.15Lf\n", (long double)ask(p) / p + b);
}
}