func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 3e5 + 5;   struct node {     long long num;     int p;   } nd[maxn];   long long sum[maxn], f[maxn];   bool cp1(node a, node b) { return a.num < b.num; }   int main() {     int n, k;     ios::sync_with_stdio(0);     cin >> n;     for (int i = 1; i <= n; i++) {       cin >> nd[i].num;       nd[i].p = i;     }     sort(nd + 1, nd + 1 + n, cp1);     cin >> k;     sum[0] = 0;     for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + nd[i].num;     f[1] = 0;     for (int i = 2; i <= k; i++)       f[i] = nd[i].num * (i - 1) - sum[i - 1] + f[i - 1];     long long mm = f[k];     int p = 1;     for (int i = k + 1; i <= n; i++) {       f[i] = nd[i].num * (k - 1) + f[i - 1] + nd[i - k].num * (k - 1) -              2 * (sum[i - 1] - sum[i - k]);       if (f[i] < mm) {         mm = f[i];         p = i - k + 1;       }     }     for (int i = 0; i < k; i++)       printf( %d%c , nd[i + p].p, i == k - 1 ?   n  :    );   }   