Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
Program futoszalag;
Type szalag=record kezd,veg,sebesseg:longint;
End;
Var X,S,R,N:longint;
t:double;
Wi:array[1..1000] of szalag;
Be:text;
Si:array[1..106] of longint;
ido,ut:double;
teszt,k:longint;
Procedure beolvas;
Var i:longint;
Begin
readln(be,X,S,R,t,N);
for i:=1 to N do
Begin
readln(be,Wi[i].kezd,Wi[i].veg,Wi[i].sebesseg);
End;
End;
Procedure sebessegek;
Var i,j:longint;
Begin
for i:=1 to x do
Begin
si[i]:=0;
End;
for i:=1 to N do
Begin
for j:=wi[i].kezd+1 to wi[i].veg do
Begin
si[j]:=wi[i].sebesseg;
End;
End;
End;
Procedure rendez;
Var i,j,min,hely:longint;
Begin
for i:=1 to x do
Begin
min:=si[i];
hely:=i;
for j:=i+1 to x do
Begin
if si[j]<min then
Begin
min:=si[j];
hely:=j;
End;
End;
si[hely]:=si[i];
si[i]:=min;
End;
End;
Procedure fut;
Var i,j:longint;
Begin
i:=1;
ido:=0;
ut:=0;
while (t>0) and (i<=x) do
Begin
if t>=1/(si[i]+R) then
Begin
t:=t-1/(si[i]+R);
ido:=ido+1/(si[i]+R);
i:=i+1;
End
else
Begin
ido:=ido+t;
ut:=1-(t*(si[i]+R));
t:=0;
ido:=ido+(ut/(si[i]+S));
i:=i+1;
End;
End;
for j:=i to x do
Begin
ido:=ido+(1/(si[j]+S));
End;
End;
Procedure ellenoriz;
Var i:longint;
Begin
writeln(x);
for i:=1 to x do
Begin
writeln(i,':',si[i]);
End;
End;
Begin
assign(be,'be.txt');
reset(be);
readln(be,teszt);
for k:=1 to teszt do
Begin
beolvas;
sebessegek;
rendez;
fut;
writeln('Case #',k,': ',ido:0:16);
End;
End.