program Program4; var m, n, i, j : integer; p, w, a, b : array[0..19] of integer; begin read(n); m := 0; for i:= 0 to n - 1 do begin read(p[i]); b[i] := 1; end; for i:=0 to n - 1 do begin if (i > 0) then a[m] := p[i] - p[i - 1] else a[m] := p[i]; m := m + 1; while ((m > 1) and (a[m - 1] = 0)) do begin m := m - 1; b[m] := 1; end; if (m > 0) then w[i] := b[m - 1] else w[i] := b[0]; a[m - 1] := a[m - 1] - 1; for j:=0 to m - 1 do b[j] := b[j] + 1; while ((m > 1) and (a[m - 1] = 0)) do begin m := m - 1; b[m] := 1 end; end; for i:= 0 to n-1 do begin write(w[i]) write(' ') end; writeln(' '); end.输入:9
4 6 6 6 6 8 9 9 9 9
输出:1