Pagini recente » Cod sursa (job #325151) | Cod sursa (job #2982455) | Cod sursa (job #255831) | Cod sursa (job #2161376) | Cod sursa (job #137472)
Cod sursa(job #137472)
program stalpi;
var x,c,s,d:array [1..100000] of longint;
aprins,lum:array [1..100000] of boolean;
n,i:longint;
sum:int64;
f,g:text;
begin
assign(f,'stalpi.in'); assign(g,'stalpi.out');
reset(f); rewrite(g);
read(f,n);
for i:=1 to n do
read(f,x[i],c[i],s[i],d[i]);
for i:=1 to n do
begin
if lum[i]=false then
if (x[i]<x[i+1]-s[i+1]) and(x[i]>x[i-1]+d[i-1]) then begin sum:=sum+c[i]; aprins[i]:=true; lum[i]:=true; end
else
if (x[i]>x[i-1]-s[i-1]) and (x[i-1]+d[i-1]>x[i]) and (aprins[i-1]=true) then begin lum[i]:=true; end
else
if (x[i]>x[i+1]-s[i+1]) and (x[i+1]+d[i+1]>x[i]) then
begin
if c[i]<c[i+1] then begin aprins[i]:=true; sum:=sum+c[i]; lum[i]:=true; lum[i+1]:=true; end
else begin aprins[i+1]:=true; sum:=sum+c[i+1]; lum[i]:=true; lum[i+1]:=true; end;
end;
end;
writeln(g,sum);
close(f); close(g);
end.