Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- a:array[0..30] of int64;
- p,m:int64;
- i:integer;
- begin
- read(m);
- for i:=0 to 30 do
- read(a[i]);
- for i:=1 to 30 do
- if a[i-1]*2>a[i] then
- a[i]:=a[i-1]*2;
- p:=0;
- for i:=30 downto 0 do
- if m>=a[i] then
- begin
- m:=m-a[i];
- p:=p+(1 shl i);
- end;
- if m>0 then inc(p);
- writeln(p);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement