对英文的阅读理解不是很强大,句子的意思理解了,但是段落的理解还是很困难的。
看了后面的输入输出例子之后就比较明了了。
首先给出了这一年的投资总额M,也就是说一年有M多的钱来投资
接下来给出了12个月份中每个月份的商品的价格P,有多有少
然后只能买卖一次
那么接下来的操作就是
选择一个价格低的买入,选择一个价格高的卖出,中间的差价就是利润
买入的时间必须要比卖出的时间早,当然这是废话,不过也代表着一种逻辑
如果12个月的单价都比M高,那就买不起,利润为IMPOSSIBLE,也就是赚不到钱
最后输出的结果就是输出买入的月份,卖出的月份,和利润
这么理解就顺多了,米国人的思维真是别扭。
下面再从程序的方面分析一下
我们需要有一个N,一个M,和一个P[12]来存放读入的数据
关键是找出买入卖出的月份来
1-11月是买入可选择的月份,选了一个就是月份B
2-12月是卖出可选择的月份,B存在的情况下范围缩小到B-12
怎么找呢
想想,我们首先需要一个S[11]来存放1-11月的P,然后去掉所有M<P的,或者说屏蔽掉,置个0什么的
然后从S中取一个月份的P,假设是B月
在P[12]中,所有B月后面的月份的P都做减法,找最大值。