现在的位置: 首页 > 综合 > 正文

NYOJ 739 笨蛋难题四

2018年05月03日 ⁄ 综合 ⁄ 共 751字 ⁄ 字号 评论关闭

笨蛋难题四

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

这些日子笨蛋一直研究股票,经过调研,终于发现xxx公司股票规律,更可喜的是 笨蛋推算出这家公司每天的股价,为了防止别人发现他的秘密。他决定对于这家公司的 股票最多买一次,现在笨蛋已经将股票价格列了出来。(这已经不是笨蛋的难题了,他已经解决 呵 呵)。只想难为难为你呀,从股票价格表上,你能算出笨蛋的每股股票最多能赚多少钱吗?
                 

输入
第一行一个n,表示n天(小于100000)
第二行 给出n天每股的价格
输出
每股最多赚多少钱
样例输入
4
947 267 359 771
7
669 735 322 794 397 565 181  
样例输出
504
472

/*题解:

求出一列数中,两个数之间的最大差(后面-前面)。

*/

/*TLE(超时)代码: 
#include<cstdio>
int main()
{
	int n,i,j,t,max,a[100010];
	while(~scanf("%d",&n))
	{
		for(i=0; i<n; i++)
			scanf("%d",&a[i]);
		for(i=0,max=0; i<n; i++)
			for(j=i+1,t=0; j<n; j++)
			{
				t = a[j]-a[i];
				if(t>max) max = t;
			}
		printf("%d\n",max);
	}
}*/

AC代码: 
#include<cstdio>
int main()
{
	int n,i,t,min,max;
	while(scanf("%d",&n)!=EOF)
	{
		scanf("%d",&t);
			min = t;
		for(i=1,max=0; i<n; i++)
		{
			scanf("%d",&t);
			if(t-min>max)
				max = t-min;
			if(t<min)
				min = t; 
		}
		printf("%d\n",max);
	}
}

抱歉!评论已关闭.