func_code_string: #include <bits/stdc++.h>   using namespace std;   const int Maxn = 600005;   int minx[Maxn], tip[Maxn];   int a[Maxn], b[Maxn], c[Maxn];   int n, m, i, h, L, R, t, ans;   void ins(int p, int l, int r, int pos, int data) {     if (l == r) {       minx[p] = data;       return;     }     int mid = (l + r) >> 1;     if (pos <= mid)       ins(p * 2 + 1, l, mid, pos, data);     else       ins(p * 2 + 2, mid + 1, r, pos, data);     minx[p] = min(minx[p * 2 + 1], minx[p * 2 + 2]);   }   void push(int p) {     minx[p * 2 + 1] += tip[p];     tip[p * 2 + 1] += tip[p];     minx[p * 2 + 2] += tip[p];     tip[p * 2 + 2] += tip[p];     tip[p] = 0;   }   void add(int p, int l, int r, int L, int R, int dlt) {     if (L > r || l > R) return;     if (L <= l && R >= r) {       minx[p] += dlt;       tip[p] += dlt;       return;     }     if (tip[p]) push(p);     int mid = (l + r) >> 1;     add(p * 2 + 1, l, mid, L, R, dlt);     add(p * 2 + 2, mid + 1, r, L, R, dlt);     minx[p] = min(minx[p * 2 + 1], minx[p * 2 + 2]);   }   int main() {     scanf( %d%d%d , &n, &m, &h);     for (i = 1; i <= m; i++) scanf( %d , &b[i]);     sort(b + 1, b + m + 1);     for (i = 1; i <= m / 2; i++) swap(b[i], b[m - i + 1]);     for (i = 1; i <= m; i++) b[i] = h - b[i];     for (i = 1; i <= n; i++) scanf( %d , &a[i]);     for (i = 1; i <= m; i++) c[i] = a[i];     sort(c + 1, c + m + 1);     for (i = 1; i <= m; i++) {       t = lower_bound(c + 1, c + m + 1, b[i]) - c;       ins(0, 1, m, i, i - t);     }     ans += (minx[0] >= 0);     for (i = m + 1; i <= n; i++) {       if (a[i] > a[i - m]) {         L = upper_bound(b + 1, b + m + 1, a[i - m]) - b;         R = upper_bound(b + 1, b + m + 1, a[i]) - b - 1;         if (L <= R && L <= m) add(0, 1, m, L, R, 1);       } else if (a[i] < a[i - m]) {         L = upper_bound(b + 1, b + m + 1, a[i]) - b;         R = upper_bound(b + 1, b + m + 1, a[i - m]) - b - 1;         if (L <= R && L <= m) add(0, 1, m, L, R, -1);       }       ans += (minx[0] >= 0);     }     printf( %d n , ans);     return 0;   }   