## DMOPC '15 Contest 2 P3 - Origami

View as PDF

Points: 7 (partial)
Time limit: 0.6s
Memory limit: 64M

Author:
Problem type

cheesecake is making origami and he needs your help! He has an arbitrarily large rectangular piece of paper that he needs to cut into pieces, whose dimensions don't matter.

cheesecake likes to be efficient. Therefore, if he can, he will stack multiple pieces of paper on top of one another and cut them all at the same time. Note that since he wants crisp origami, he will not fold any papers beforehand. For example, if he needs pieces of paper, he can cut the starting piece in , then stack the pieces together and cut them to obtain pieces. The catch is, cheesecake doesn't have very good scissors, so he can cut through at most sheets of paper at a time.

To save time, he would like for you to find out the minimum number of cuts required to obtain the pieces.

#### Input Specification

The only line of input contains and , separated by a space.

#### Output Specification

One integer, the minimum number of cuts required to obtain the pieces.

#### Sample Input 1

4 2

#### Sample Output 1

2

#### Explanation for Sample Output 1

See problem description above.

#### Sample Input 2

100000 1

#### Sample Output 2

99999

#### Explanation for Sample Output 2

Since cheesecake's scissors can only cut through one piece of paper at a time, he has to cut the paper times for pieces of paper.

#### Sample Input 3

100 7

#### Sample Output 3

17

• commented on May 28, 2020, 4:31 p.m.

For the last two cases, output has to be long to prevent int overflow.

• commented on Nov. 10, 2015, 9:43 p.m.

True origami does not use scissors. You are not a true origami.

• commented on Nov. 11, 2015, 3:42 a.m.

• commented on Nov. 11, 2015, 1:22 a.m.

Then what do you use to cut the wood to make the paper if origami is just folding

• commented on Nov. 11, 2015, 12:48 a.m.

teach me how to be an origami