func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, a, k;   int x[200030], xx[200030];   bool judge(int m) {     for (int i = 1; i <= m; i++) xx[i] = x[i];     sort(xx + 1, xx + 1 + m);     int ans = 0;     xx[0] = 0;     for (int i = 1; i <= m; i++) ans += (xx[i] - xx[i - 1]) / (a + 1);     ans += (n - xx[m] + 1) / (a + 1);     return ans < k;   }   int main() {     int m;     scanf( %d%d%d , &n, &k, &a);     scanf( %d , &m);     for (int i = 1; i <= m; i++) scanf( %d , x + i);     int ans = 1 << 30;     int l = 1, r = m, mid;     while (l <= r) {       mid = (l + r) >> 1;       if (judge(mid))         ans = min(ans, mid), r = mid - 1;       else         l = mid + 1;     }     if (ans == (1 << 30)) ans = -1;     printf( %d n , ans);   }   