// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
begin
var a:=ArrRandom(ReadInteger('n='),0,1); a.Println;
var k:=a.Where(x->x=0).Count;
a:=SeqFill(k,0).Concat(SeqFill(a.Length-k,1)).ToArray;
a.Println
end.
Тестовое решение:
n= 15
0 0 1 1 0 0 1 0 0 1 0 0 1 1 1
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1