Sphere Online Judge

Computer geeks! Show off your skills and claim the job of your dreams! RecruitCoders.com

SPOJ Problem Set (classical)

346. Bytelandian gold coins

Problem code: COINS

In Byteland they have a very strange monetary system.

Each Bytelandian gold coin has an integer number written on it. A coin n can be exchanged in a bank into three coins: n/2, n/3 and n/4. But these numbers are all rounded down (the banks have to make a profit).

You can also sell Bytelandian coins for American dollars. The exchange rate is 1:1. But you can not buy Bytelandian coins.

You have one gold coin. What is the maximum amount of American dollars you can get for it?

Input

The input will contain several test cases (not more than 10). Each testcase is a single line with a number n, 0 <= n <= 1 000 000 000. It is the number written on your coin.

Output

For each test case output a single line, containing the maximum amount of American dollars you can make.

Example

Input:
12
2

Output:
13
2

You can change 12 into 6, 4 and 3, and then change these into $6+$4+$3 = $13. If you try changing the coin 2 into 3 smaller coins, you will get 1, 0 and 0, and later you can get no more than $1 out of them. It is better just to change the 2 coin directly into $2.


Added by:Tomek Czajka
Date:2005-05-03
Time limit:9s
Source limit:50000B
Languages:All except: PERL 6
Resource:Purdue Programming Contest Training

hide comments
2012-05-22 14:50:36 prodesire
I ran combinations of (DP + recursion)
till I got 0.00.
its fun :D
2012-05-15 11:06:38 akshay tankha
getting wrong answer plz mre test cases
2012-05-11 09:33:24 Ashish Raj
stopping condition in java ?
2012-04-21 16:25:25 hell
what is the stopping condition in c
2012-03-21 21:42:58 Rodolfo Miquilarena
long long int doesn´t work, use unsigned long long

2012-03-14 12:10:41 Sachin Railhan
For C/C++ users:
Use long long int instead of long int.
Judge gave me WA when i used long int but it gave AC for long long int.
Hint:Don't consider every number.
2012-03-13 02:18:35 Sergey
2 giorgi:
no. I've got AC and the answer is

1000000000
4243218150

Besides you can not get less dollars then gold coins

Last edit: 2012-03-13 02:20:03
2012-02-12 10:29:19 gguliashvili
is 10833333 right for 1000000000 ? just say yes or no..
2012-02-10 11:17:11 Pranjali
stopping condition of input??
2012-01-12 16:21:22 Smit Mehta
I am getting TLE for recursion!! Any better way?

Got it :) by using recursion only.

Last edit: 2012-01-13 16:21:51
SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.