func_code_string: #include <bits/stdc++.h>   using namespace std;   const int NMAX = 1e5;   int n, x, k;   int a[NMAX + 2];   long long ans;   int ndiv(int f, int l) { return l / x - (f - 1) / x; }   pair<int, int> bs(int arg) {     pair<int, int> last;     int st = arg, dr = n;     last.first = last.second = -1;     while (st <= dr) {       int med = (st + dr) / 2;       if (ndiv(a[arg], a[med]) >= k) {         dr = med - 1;         last.first = med;       } else         st = med + 1;     }     st = arg, dr = n;     while (st <= dr) {       int med = (st + dr) / 2;       if (ndiv(a[arg], a[med]) > k)         dr = med - 1;       else {         st = med + 1;         last.second = med;       }     }     return last;   }   int main() {     cin >> n >> x >> k;     for (int i = 1; i <= n; i++) cin >> a[i];     sort(a + 1, a + n + 1);     int nr;     for (int i = 1; i <= n; i++) {       if (a[i] != a[i - 1]) {         pair<int, int> pos = bs(i);         if (pos.first != -1 && pos.second != -1)           nr = pos.second - pos.first + 1;         else           nr = 0;       }       ans += 1LL * nr;     }     cout << ans <<   n ;     return 0;   }   