var f:array[0..501,0..501] of longint;
w,b,sb,sw:array[0..501] of longint;
n,k,i,j,l,color,minx:longint;
function min(a,b:longint):longint;
begin
if a<b then exit(a); exit(b);
end;
begin
readln(n,k);
for i:=1 to n do
begin
readln(color);
if color=1 then inc(b[i])
else inc(w[i]);
end;
for i:=1 to n do sb[i]:=sb[i-1]+b[i];
for i:=1 to n do sw[i]:=sw[i-1]+w[i];
for i:=1 to n-k+1 do f[1,i]:=sb[i]*sw[i];
for i:=2 to k do
for j:=i to n-k+i do
begin
minx:=oo;
for l:=i-1 to j-1 do
minx:=min(minx,f[i-1,l]+(sb[j]-sb[l])*(sw[j]-sw[l]));
f[i,j]:=minx;
end;
writeln(f[k,n]);
end.