Pagini recente » Cod sursa (job #785983) | Cod sursa (job #3314) | Cod sursa (job #172556) | Cod sursa (job #2005637) | Cod sursa (job #413836)
Cod sursa(job #413836)
program politie;
type inreg=record
tip,timp:integer;
end;
vector=array[1..50] of inreg;
var f,g:text;
t,t1,t2,t3,s1,s2,s3,n,i,j,a,x,x1,x2:integer;
v:vector;
ok:boolean;
procedure verif(time:integer; dur:integer);
begin
if ( v[i+1].timp<time+dur ) and (time+dur<t) then
if v[i+1].tip=3 then
begin
x:=x+t3; x1:=x; x2:=x;
a:=a+s3;
end
else
{!!} begin
if v[i+1].tip=2 then
begin
x1:=x+t1;
x2:=x+t2;
if x1>x2 then x:=x1
else x:=x2;
a:=a+s1+s2;
end
else
if v[i+1].tip=1 then
begin
x1:=x+t1; x2:=x1;
a:=a+s1+s2;
end
else
begin
if v[n].tip=1 then a:=a+s1;
if v[n].tip=2 then a:=a+s2;
if v[n].tip=3 then a:=a+s3;
end;
end;
while v[i].timp<x do
begin
i:=i+1;
end;
x:=v[i].timp;
end;
begin
assign(f,'politie.in');reset(f);
assign(g,'politie.out');rewrite(g);
readln(f,t);
readln(f,s1,t1); readln(f,s2,t2); readln(f,s3,t3);
readln(f,n);
for i:=1 to n do
readln(f,v[i].tip,v[i].timp);
a:=0;
x:=v[1].timp; x1:=x; x2:=x;
i:=1;
ok:=false;
while i<n do
begin
if v[i].tip=1 then
begin
verif(v[i].timp,t1);
end;
if v[i].tip=2 then
begin
verif(v[i].timp,t2);
end;
if v[i].tip=3 then
begin
verif(v[i].timp,t3);
end;
end;
write(g,a);
close(f);
close(g);
end.