#include <bits/stdc++.h>
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  int a[n], b[n], c[n], z[k], i, j, l, h = 0, sum = 0;
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    b[i] = a[i];
  }
  for (i = 0; i < n - 1; i++) {
    for (j = 0; j < n - i - 1; j++) {
      if (a[j] < a[j + 1]) {
        l = a[j + 1];
        a[j + 1] = a[j];
        a[j] = l;
      }
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (a[i] == b[j]) {
        sum += b[j];
        b[j] = -10;
        c[h] = j;
        h++;
        j = n;
      }
      if (h == k) {
        j = n;
        i = n;
      }
    }
  }
  printf("%d\n", sum);
  for (i = 0; i < k - 1; i++) {
    for (j = 0; j < k - i - 1; j++) {
      if (c[j] > c[j + 1]) {
        l = c[j + 1];
        c[j + 1] = c[j];
        c[j] = l;
      }
    }
  }
  if (k != 1) {
    z[0] = c[0] + 1;
    printf("%d ", z[0]);
    for (i = 1; i < k - 1; i++) {
      z[i] = c[i] - c[i - 1];
      printf("%d ", z[i]);
    }
    z[k - 1] = n - c[k - 2] - 1;
    printf("%d", z[k - 1]);
  } else {
    printf("%d", n);
  }
  return 0;
}
