Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|

Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |

Language: Fund Management
Description Frank is a portfolio manager of a closed-end fund for Frank manages equity fund that invests money into stock market. His strategy is explained below. Frank’s fund has collected s, then Frank can spend _{i}p USD to buy one lot of the corresponding stock for his fund if the fund has enough cash left, thus decreasing available cash in the fund. This trade is completely performed in one day._{i}s_{i}When price of the stock changes to Each stock has its own volatility and risks, so to minimize the overall risk of the fund, for each stock there is the maximum number of lots k on the number of lots of all stocks that the fund can hold at any given day.Any trade to buy or sell one lot of stock completely occupies Frank’s day, and thus he can perform at most one such trade per day. Frank is not allowed to buy partial lots if there is not enough cash in the fund for a whole lot at the time of purchase. Now, when fund’s period has ended, Frank wants to know what is the maximum profit he could have made with this strategy having known the prices of each stock in advance. Your task is to write a program to find it out. It is assumed that there is a single price for each stock for each day that Frank could have bought or sold shares of the stock at. Any overheads such as fees and commissions are ignored, and thus cash spent to buy or gained on a sell of one lot of stock is exactly equal to its price on this day multiplied by the number of shares in a lot. Input The first line of the input file contains four numbers — The following 2 The first line for each stock contains the stock name followed by two integer numbers k. Here _{i}s (1 ≤ _{i}s ≤ _{i}k (1 ≤ _{i}k ≤ _{i}k) is the number of lots of this stock the fund can hold at any time. Stock name consists of 1 to 5 capital Latin letters from “A” to “Z”. All stock names in the input file are distinct.The second line for each stock contains Cash and prices in the input file are formatted as a string of decimal digits, optionally followed by a dot with one or two digits after a dot. Output Write to the output file On the first line write a single decimal number — the precise value for the maximal amount of cash that can be collected in the fund by the end of its period. The answer will not exceed On the following Sample Input 144624.00 9 5 3 IBM 500 3 97.27 98.31 97.42 98.9 100.07 98.89 98.65 99.34 100.82 GOOG 100 1 467.59 483.26 487.19 483.58 485.5 489.46 499.72 505 504.28 JAVA 1000 2 5.54 5.69 5.6 5.65 5.73 6 6.14 6.06 6.06 MSFT 250 1 29.86 29.81 29.64 29.93 29.96 29.66 30.7 31.21 31.16 ORCL 300 3 17.51 17.68 17.64 17.86 17.82 17.77 17.39 17.5 17.3 Sample Output 151205.00 BUY GOOG BUY IBM BUY IBM HOLD SELL IBM BUY MSFT SELL MSFT SELL GOOG SELL IBM Source |

[Submit] [Go Back] [Status] [Discuss]

All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di

Any problem, Please Contact Administrator