#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, k;
  cin >> n >> k;
  long long c[n];
  set<pair<long, long> > st;
  for (int i = 0; i < n; i++) {
    cin >> c[i];
  }
  for (int i = 0; i < k; i++) {
    st.insert(make_pair(c[i], i));
  }
  long long cost = 0LL;
  long long ans[n];
  for (long long i = k; i < n + k; i++) {
    if (i < n) {
      st.insert(make_pair(c[i], i));
    }
    cost += (*(--st.end())).first * (i - (*(--st.end())).second);
    ans[(*(--st.end())).second] = i + 1;
    st.erase(--st.end());
  }
  cout << cost << endl;
  for (int i = 0; i < n; i++) {
    cout << ans[i] << ' ';
  }
  cout << endl;
  return 0;
}
