atcoder#AGC044A. [AGC044A] Pay to Win
[AGC044A] Pay to Win
Score : points
Problem Statement
You start with the number and you want to reach the number .
You can change the number, paying a certain amount of coins, with the following operations:
- Multiply the number by , paying coins.
- Multiply the number by , paying coins.
- Multiply the number by , paying coins.
- Increase or decrease the number by , paying coins.
You can perform these operations in arbitrary order and an arbitrary number of times.
What is the minimum number of coins you need to reach ?
You have to solve T testcases.
Constraints
- All numbers are integers.
Input
The input is given from Standard Input. The first line of the input is
Then, lines follow describing the testcases. Each of the lines has the format
Output
For each testcase, print the answer on Standard Output followed by a newline.
5
11 1 2 4 8
11 1 2 2 8
32 10 8 5 4
29384293847243 454353412 332423423 934923490 1
900000000000000000 332423423 454353412 934923490 987654321
20
19
26
3821859835
23441258666
For the first testcase, a sequence of moves that achieves the minimum cost of is:
- Initially .
- Pay to increase by ().
- Pay to multiply by ().
- Pay to multiply by ().
- Pay to multiply by ().
- Pay to decrease by ().
For the second testcase, a sequence of moves that achieves the minimum cost of is:
- Initially .
- Pay to increase by ().
- Pay to multiply by ().
- Pay to multiply by ().
- Pay to increase by ().