COCI '09 Contest 7 #2 Cokolada

View as PDF

Submit solution


Points: 7
Time limit: 0.6s
Memory limit: 32M

Problem type

A new type of chocolate arrived in the local shop. The chocolate comes in bars, each bar consisting of N squares. Bars are factory made and only come in sizes which are full powers of two. In other words a single bar has 1,2,4,8,16, squares.

To fully assess the quality of chocolate Mirko must sample at least K squares. His friend Slavko would also like to try some of the chocolate. Since Mirko is in a hurry to try the chocolate himself, he decides to break the bar he bought in pieces, such that he has exactly K squares, and leaves the rest (if any) to Slavko. The bars are a bit brittle, so Mirko can break them only on their exact center. In other words, from one bar with D squares, he can get two bars with D2 squares.

Write a program that will determine the minimal number of breaks Mirko must perform in order to obtain exactly K squares (not necessarily in one piece). Also, determine the smallest bar size Mirko must buy in order to have at least K squares.

Input Specification

The first and only line of input will contain one integer K (1K1000000), the number of squares Mirko must sample.

Output Specification

The first and only line of output should contain two integers, separated by a single space. The first integer is the smallest bar size Mirko must buy. The second the smallest number of breaks.

Sample Input 1

Copy
6

Sample Output 1

Copy
8 2

Sample Input 2

Copy
7

Sample Output 2

Copy
8 3

Sample Input 3

Copy
5

Sample Output 3

Copy
8 3

Comments

There are no comments at the moment.