nyoj 739 笨蛋的难题四

笨蛋难题四

时间限制: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
 
#include<stdio.h>
int main()
{
  int day;
  while(scanf("%d",&day)!=EOF)
  {
	  int max=0,s,sum=0,x,y;
	  scanf("%d",&x);
	  day--;
	  while(day--)
	  {
         scanf("%d",&y);
		 s=y-x;//记录后一项与前一项的差
		 sum<0?sum=s:sum+=s;//当sum小于0时 把s的值从新赋值给sum不然的话继续求和。
		 max<sum?max=sum:sum=sum;//比較  把最大项的值赋值给max
	     x=y;//为下次循环做准备
	  }
	  printf("%d
",max);//输出最大项,即每股最多转的钱数
  }
	return 0;
}        


原文地址:https://www.cnblogs.com/wzjhoutai/p/6885202.html