Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.76 KB | None | 0 0
  1. //fpc 3.0.0
  2.  
  3. program HelloWorld;
  4. var
  5.     n: Integer;
  6.     head: Array [1..6] of Integer;
  7.     i: Integer;
  8.     j: Integer;
  9.     minEvenNumber: Integer;
  10.     minOddNumber: Integer;
  11.     inputNumber: Integer;
  12.     first: Integer;
  13.     minResult: Longint;
  14.     currentResult: Longint;
  15.     solutionExists: Boolean;
  16. begin
  17.     minEvenNumber := 10001;
  18.     minOddNumber := 10001;
  19.     minResult := 10000000000;
  20.     solutionExists := false;
  21.     readln(n);
  22.     for i:=1 to n do
  23.     begin
  24.         readln(inputNumber);
  25.         if i <= 6 then
  26.         begin
  27.             head[i] := inputNumber;
  28.         end
  29.         else
  30.         begin
  31.             first := head[1];
  32.             for j:=1 to 5 do
  33.                 head[j] := head[j+1];
  34.             head[6] := inputNumber;
  35.             if (first < minEvenNumber) and (first mod 2 = 0) then
  36.                 minEvenNumber := first;
  37.             if (first < minOddNumber) and (first mod 2 = 1) then
  38.                 minOddNumber := first;
  39.                
  40.             if (inputNumber mod 2 = 0) then
  41.             begin
  42.                 solutionExists := true;
  43.                 currentResult := minEvenNumber * inputNumber;
  44.                 if (currentResult < minResult) then
  45.                     minResult := currentResult;
  46.  
  47.                 currentResult := minOddNumber * inputNumber;
  48.                 if (currentResult < minResult) then
  49.                     minResult := currentResult;
  50.             end
  51.             else
  52.             begin
  53.                 currentResult := minEvenNumber * inputNumber;
  54.                 if (currentResult < minResult) then
  55.                     minResult := currentResult;
  56.             end;
  57.         end
  58.     end;
  59.     if solutionExists then
  60.         writeln(minResult)
  61.     else
  62.         writeln(-1);
  63.  
  64. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement