DWITE '09 R3 #2 - Rounding to Fibonacci

View as PDF

Points: 5
Time limit: 2.0s
Memory limit: 64M

Problem type
DWITE Online Computer Programming Contest, December 2009, Problem 2

There are a few different rounding methods. The most common one rounds up/down from 5. Another one rounds up/down depending on the number being even or odd (this has to do with statistical bias). Here we'll implement a yet another type of rounding — rounding a number to the closest whole integer in the Fibonacci sequence. If two elements in the sequence are equally far away, round up.

The Fibonacci sequence is defined as:

Which produces a sequence of:

The input will contain 5 lines, integers .

The output will contain 5 lines, each a corresponding integer rounded to the closest number from the Fibonacci sequence.

Sample Input

1
2
4
22
1000000000

Sample Output

1
2
5
21
1134903170