Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- n, a, b, i, j, k, min, max: integer;
- s: longint;
- min1, min2: array [0..3] of longint;
- begin
- readln(n);
- s := 0;
- min1[0] := 0;
- for i := 1 to 3 do
- min1[i] := 100001;
- for i := 1 to n do
- begin
- readln(a, b);
- if a > b then
- begin
- max := a; min := b;
- end
- else
- begin
- max := b; min := a;
- end;
- inc(s, min);
- for j := 0 to 3 do
- begin
- k := (j - (max - min)) mod 4;
- if k < 0 then
- inc(k, 4);
- if min1[k] + max - min < min1[j] then
- min2[j] := min1[k] + max - min
- else
- min2[j] := min1[j];
- end;
- for j := 0 to 3 do
- min1[j] := min2[j];
- end;
- if s mod 4 > 0 then
- begin
- k := 4 - (s mod 4);
- if min1[k] = 100001 then
- s := 0
- else
- inc(s, min1[k]);
- end;
- writeln(s);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement