#include <bits/stdc++.h>
using namespace std;
int n, k, ans[300005], ta;
long long s, aa;
priority_queue<pair<int, int> > q;
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= k + n; i++) {
    if (i <= n) {
      scanf("%d", &ta);
      q.push(make_pair(ta, i));
    }
    if (i > k) {
      ans[q.top().second] = i;
      aa += 1ll * (q.top().first) * (i - q.top().second);
      q.pop();
    }
  }
  printf("%lld\n", aa);
  for (int i = 1; i <= n; i++) printf("%d%c", ans[i], i == n ? '\n' : ' ');
  return 0;
}
