Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const
- VELOCITY = 10;
- var
- N, K, i, j: integer;
- f1, f2: text;
- a: Array [0..11, 0..10001] of integer;
- b: Array [0..11, 0..10001] of double;
- minValue: double;
- begin
- assign(f1, 'input.txt');
- reset(f1);
- assign(f2, 'output.txt');
- rewrite(f2);
- read(f1, N, K);
- readln(f1);
- for i:=0 to 11 do
- for j:=0 to 10001 do
- b[i,j]:=10*10000;
- i:=0;
- try
- while (Not Eof(f1)) do
- begin
- i+=1;
- j:=0;
- while (Not Eoln(f1)) do
- begin
- j+=1;
- read(f1,a[i,j]);
- end;
- readln(f1);
- end;
- except
- exit;
- end;
- for i := 1 to N do
- begin
- b[i, 1] := VELOCITY / a[i, 1];
- end;
- for i := 2 to K do
- begin
- for j := 1 to N do
- begin
- b[j, i] := VELOCITY / a[j, i] + b[j, i - 1];
- if (j - 1) > 0 then
- b[j, i] := min(b[j, i], VELOCITY / a[j, i] + b[j - 1, i - 1]);
- if (j + 1) <= N then
- b[j, i] := min(b[j, i], VELOCITY / a[j, i] + b[j + 1, i - 1]);
- end;
- end;
- minValue := b[1, k];
- for j := 2 to n do
- if (b[j, k] < minValue) then
- minValue := b[j, k];
- write(f2, minValue:0:3);
- close(f1);
- close(f2);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement