Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.76 KB | None | 0 0
  1. var
  2. n, a, b, i, j, k, min, max: integer;
  3. s: longint;
  4. min1, min2: array [0..3] of longint;
  5. begin
  6.     readln(n);
  7.     s := 0;
  8.     min1[0] := 0;
  9.     for i := 1 to 3 do
  10.         min1[i] := 100001;
  11.     for i := 1 to n do
  12.     begin
  13.         readln(a, b);
  14.         if a > b then
  15.         begin
  16.             max := a; min := b;
  17.         end
  18.         else
  19.         begin
  20.             max := b; min := a;
  21.         end;
  22.         inc(s, min);
  23.         for j := 0 to 3 do
  24.         begin
  25.             k := (j - (max - min)) mod 4;
  26.             if k < 0 then
  27.                 inc(k, 4);
  28.             if min1[k] + max - min < min1[j] then
  29.                 min2[j] := min1[k] + max - min
  30.             else
  31.                 min2[j] := min1[j];
  32.         end;
  33.         for j := 0 to 3 do
  34.             min1[j] := min2[j];
  35.     end;
  36.     if s mod 4 > 0 then
  37.     begin
  38.         k := 4 - (s mod 4);
  39.         if min1[k] = 100001 then
  40.             s := 0
  41.         else
  42.             inc(s, min1[k]);
  43.     end;
  44.     writeln(s);  
  45. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement