Responsive image

问题 3090 --小明的投资股票

3090: 小明的投资股票

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

小埋最近想要投资股票,由于股票的涨跌都是未知数,如果能知道股票的涨跌情况就好了。小埋提出一个假设,假设未来一定天数内能够知道股票的涨跌情况。但是呢现在还有一个限制条件,我们正常买股票都是低买高卖然后再低买高卖(赚取收益),现在小埋是这样一个规划呢,是每次买股票,必须遵循以下的问题建议:“低价购买;再低价购买”。每次购买一支股票,必须用低于上次购买它的价格购买它,买的次数越多越好!
现在小明的目标是在遵循以上建议的前提下,能够最多购买股票的次数。小明现在知道一段时间内一支股票每天的售价,小明可以选择在那些天购买这支股票。每次购买都必须遵循“低价购买;再低价购买” 的原则。小明请你帮他写一个程序计算最大购买次数。
这里是某支股票的价格清单:
| 日期 |  1   |  2   |  3   |  4   |  5   |  6   |  7   |  8   |  9   |  10  |  11  |  12  |
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
| 价格 |  68  |  69  |  54  |  64  |  68  |  64  |  70  |  67  |  78  |  62  |  98  |  87  |
小明最多可以购买最多 4次股票,可行方案的一种是:
| 日期 |  2   |  5   |  6   |  10  |
| :--: | :--: | :--: | :--: | :--: |
| 价格 |  69  |  68  |  64  |  62  |

输入描述

第一行共一个整数 N(1 <= N <= 5000),股票发行天数。

第二行一行 N个整数,是每天的股票价格。保证是大小不超过 2^16的正整数。

输出描述

输出共一行两个整数,分别为最大购买次数和拥有最大购买次数的方案数(数据保证 <=2^{31})当二种方案“看起来一样”时(就是说它们构成的价格队列一样的时候),这 2 种方案被认为是相同的。

样例输入

12
68 69 54 64 68 64 70 67 78 62 98 87

样例输出

4 2

提示

对于30%的数据,  n<=10

对于100%的数据,n<=5*10^3

例如:以下两个表格虽然日期不同但是价格序列相同,所以以下两种方案是同一种方案。

| 日期 | 1    | 3    | 4    | 5    |

| ---- | ---- | ---- | ---- | ---- |

| 价格 | 10   | 9    | 8    | 7    |

| 日期 | 1    | 2    | 6    | 7    |

| ---- | ---- | ---- | ---- | ---- |

| 价格 | 10   | 9    | 8    | 7    |






来源

LCS     19邢玉龙 

[提交][状态]
ACM算法攻关部