CNMARBLE - Trò chơi với những viên bi

Tác giả: ladpro98

Ngôn ngữ: Pascal

program cnmarble;
uses    math;
const   maxn=500005;
        fi='';
var     a,v:array[1..maxn] of longint;
        inp:text;
        n,m,i,j,t,u,s:longint;
begin
        assign(inp,fi);reset(inp);
        readln(inp,n,m);
        j:=1;i:=1;
        for t:=1 to n do
        begin
                read(inp,v[t]);
                inc(s,v[t]);
        end;
        for t:=1 to n do
        begin
                for u:=1 to v[t] do
                begin
                        a[(i-1)*m+j]:=t;
                        if i=s div m then
                        begin
                                i:=1;
                                inc(j);
                        end
                        else    inc(i);
                end;

        end;
        for i:=0 to s div m-1 do
        begin
                for j:=i*m+1 to i*m+m do write(a[j],' ');
                writeln;
        end;
end.

Download