#include<bits/stdc++.h>
using namespace std;
long long n,d,a[50005],ans,date[50005];
int check(long long x)
{
long long sum=0,t=0;
for(int i=1;i<=d;i++)
{
sum/=2;
while(sum<x)
{
sum+=a[++t];
if(t>n)
{
return 0;
}
if(x==ans)
{
date[t]=i;
}
}
}
return 1;
}
int main()
{
cin>>n>>d;
long long l=0,r=0;
for(int i=1; i<=n; i++)
{
cin>>a[i];
r+=a[i];
}
while(l+1<r)
{
int mid=(l+r)>>1;
if(!check(mid))
{
r=mid;
}
else
{
l=mid;
}
}
ans=l;
check(ans);
cout<<ans<<endl;
for(int i=1;i<=n;i++)
{
if(date[i])
{
cout<<date[i]<<endl;
}
else
{
cout<<d<<endl;
}
}
return 0;
}