#include <bits/stdc++.h>
using namespace std;
long long n, m, k, y, a, b, c;
long long A[2005];
bool B[2005];
int main() {
  cin >> n >> k;
  priority_queue<pair<int, int> > pq;
  for (int i = int(0); i < int(n); i++) {
    cin >> A[i];
    pq.push({A[i], i});
  }
  int ans = 0;
  for (int i = int(0); i < int(k); i++) {
    B[pq.top().second] = true;
    ans += pq.top().first;
    pq.pop();
  }
  cout << ans << '\n';
  m = -1;
  int t = 0;
  for (int i = int(0); i < int(n); i++) {
    if (B[i] && t + 1 < k) {
      cout << i - m << " ";
      m = i;
      t++;
    }
  }
  cout << n - 1 - m << '\n';
}
