Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var n, k, i, max, maxa, maxb, j: longint; a, b: array [-1..200000] of longint;
- begin
- readln(n, k);
- a[-1] := -maxint-1;
- a[0] := -maxint-1;
- b[-1] := 1;
- b[0] := 1;
- for i := 1 to n do begin
- readln(a[i*2 - 1], a[i*2]);
- b[i*2 - 1] := 0;
- b[i*2] := 0;
- end;
- for i := 1 to k do begin
- max := -maxint-1;
- for j := 1 to n*2 do begin
- if (max < a[j] + a[j-2]) and (b[j] = 0) and (b[j-2] = 0) then begin
- max := a[j] + a[j-2];
- maxa := j;
- maxb := j-2;
- end;
- if (max < a[j] + a[j+2]) and (b[j] = 0) and (b[j+2] = 0) then begin
- max := a[j] + a[j+2];
- maxa := j;
- maxb := j + 2;
- end;
- if j div 2 = 1 then
- if (max < a[j] + a[j+1]) and (b[j] = 0) and (b[j+1] = 0) then begin
- max := a[j] + a[j+1];
- maxa := j;
- maxb := j + 1;
- end
- else
- if (max < a[j] + a[j-1]) and (b[j] = 0) and (b[j-1] = 0) then begin
- max := a[j] + a[j-1];
- maxa := j;
- maxb := j - 1;
- end;
- end;
- a[maxa] := -maxint-1;
- a[maxb] := -maxint-1;
- b[maxa] := i;
- b[maxb] := i;
- end;
- for i := 1 to n do writeln(b[i*2 - 1], ' ', b[i*2]);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement