Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- n, a, b: longint;
- function max(a, b: longint): longint;
- begin
- if (a > b) max := a
- else max := b;
- end;
- function search(k,i:longint):longint;
- var
- j: longint;
- max1,max2, res: longint;
- begin
- res := max(a,b) * n + 1;
- j := n;
- while (j > i) do begin
- max1 := a + (y - i - 1) * b;
- max2 := search(k, y);
- res := max(res, max(max1, max2));
- if(res >= k) then search := res else break;
- dec(j);
- end;
- end;
- var
- i: longint;
- max1, max2, res:longint;
- begin
- readln(n);
- read(a, b);
- if (b > a) then begin
- p := a;
- a := b;
- b := p;
- end;
- if (a * b = 0) or (n = 1) then res := 0
- else begin
- res := max(a, b) * n + 1;
- for i := 1 to n do begin
- max1 := (i - 1) * b;
- max2 := search(max1, i);
- res := max(res, max(max1, max2));
- end;
- writeln(res);
- end.
Add Comment
Please, Sign In to add comment