fork download
  1. Program brackets2;
  2. {$H+}
  3. const
  4. MAXN = 500;
  5. var
  6. N, i, h, pos, tot : LongInt;
  7. A : Array[0..MAXN-1] of LongInt;
  8. ans : AnsiString;
  9.  
  10. begin
  11. (*assign(input, 'input.txt'); reset(input);
  12.   assign(output, 'output.txt'); rewrite(output);*)
  13. ReadLn(N);
  14. for i:=0 to N-1 do Read(A[i]);
  15. ReadLn();
  16. ans := '';
  17. for i:=0 to A[0]-1 do insert('(',ans,i);
  18. pos:=A[0]+1; tot:=A[0]; i:=1;
  19. while i< N do
  20. begin
  21. if A[i]>tot then begin for h:=1 to A[i] do insert('(',ans,pos+h); tot:=tot+A[i]; pos:=pos+A[i];end
  22. else begin if A[i]<>A[i+1] then begin for h:=1 to A[i] do insert(')',ans,pos+h); tot:=tot-A[i]; pos:=pos+A[i];end
  23. else begin for h:=1 to A[i] do insert('(',ans,pos+h); tot:=tot+A[i]; pos:=pos+A[i];for h:=1 to A[i] do insert(')',ans,pos); tot:=tot-A[i]; pos:=pos+A[i]; end;
  24. end;
  25. i:=i+1;
  26. end;
  27. if tot=0 then WriteLn(ans)
  28. else Writeln(-1);
  29. end.
Success #stdin #stdout 0s 5308KB
stdin
4
4 2 2
stdout
-1