func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 3e5 + 5;   const long long mod = 1e9 + 7;   const long double PI = acos(-1);   long long n, k;   pair<long long, long long> a[N];   long long ans[N];   int main() {     cin >> n >> k;     for (int i = 0; i < n; i++) {       scanf( %lld , &a[i].first);       a[i].second = i;     }     set<int> st;     for (int i = k + 1; i <= k + n; i++) {       st.insert(i);     }     sort(a, a + n);     reverse(a, a + n);     long long out = 0;     for (int i = 0; i < n; i++) {       auto it = st.lower_bound(a[i].second + 1);       out += ((*it - (a[i].second + 1)) * 1ll * a[i].first);       ans[a[i].second] = *it;       st.erase(it);     }     printf( %lld n , out);     for (int i = 0; i < n; i++)       printf( %lld%c , ans[i], (i + 1 == n ?   n  :    ));     return 0;   }   