Pagini recente » Cod sursa (job #1203205) | Cod sursa (job #2863242) | Cod sursa (job #266808) | Cod sursa (job #2788267) | Cod sursa (job #137266)
Cod sursa(job #137266)
program stalpi;
type vect = record
X,C,S,D,L : longint;
end;
var A : array [1..100000] of vect;
B : vect;
f : text;
n,i,j,cost : longint;
ok : boolean;
begin
assign(f,'stalpi.in');
reset(f);
readln(f,n);
for i := 1 to n do begin
readln(f,A[i].x,A[i].C,A[i].S,A[i].D);
A[i].L := 0;
end;
close(f);
repeat
ok := true;
for i := 1 to n-1 do
if A[i].C>A[i+1].C then begin
B := A[i];
A[i] := A[i+1];
A[i+1] := B;
ok := false;
end;
until ok;
cost := 0;
for i := 1 to n do begin
cost := cost+A[i].C;
for j := 1 to n do begin
if (A[i].x-A[i].S<=A[j].X) and (A[j].X<=A[i].X) then A[j].L := 1;
if (A[j].X<=A[i].X+A[i].D) and (A[i].X<=A[j].X) then A[j].L := 1;
end;
ok := true;
for j := 1 to n do
if A[j].L<>1 then begin
ok := false;
break;
end;
if ok then break;
end;
assign(f,'stalpi.out');
rewrite(f);
write(f,cost);
close(f);
end.