Pagini recente » Cod sursa (job #29090) | Cod sursa (job #3250165) | Cod sursa (job #47451) | Cod sursa (job #64872) | Cod sursa (job #17989)
Cod sursa(job #17989)
var fi,fo:text;
poz,i,n,s,sum:longint;
v:array[1..50000]of longint;
plus:array[1..50000]of boolean;
inv:boolean;
begin
randomize;
assign(fi,'semne.in'); reset(fi);
assign(fo,'semne.out'); rewrite(fo);
readln(fi,n,s);
if s<0 then
begin s:=-s; inv:=true; end
else inv:=false;
for i:=1 to n do read(fi,v[i]);
sum:=0;
for i:=1 to n do inc(sum,v[i]);
{xx:=(sum+s)div 2;}
fillchar(plus,sizeof(plus),true);
while sum<>s do
begin
poz:=random(n)+1;
if plus[poz]then
if sum>s then
begin
plus[poz]:=false;
dec(sum,2*v[poz]);
end
else begin end
else if sum<s then
begin
plus[poz]:=true;
inc(sum,2*v[poz]);
end;
end;
for i:=1 to n do
if(plus[i]and not inv)or(not plus[i]and inv)then
write(fo,'+')
else write(fo,'-');
writeln(fo);
close(fo);
end.