内存:128  时间:1

题目描述

注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交。

某工程检修小组,约定向东为正。乘一辆汽车从A地出发到收工时,行走的记录为:
  +15,-2,+5,-1,+10,-3 ,-2 ,+12 , +4 ,-5 ,-6
求该小组在工作时,最远离出发地多远?

#include <iostream>
using namespace std;
int main()
{
    int maxDistance=0,relative,sum=0;
    int i,n;
    cin>>n;
    for(i=0; i<n; i++)
    {
        cin>>relative;
        sum+=relative;
        if(sum>0)
        {
            if(maxDistance<sum)
                maxDistance=sum;
        }
        else
        {
            /*
                请填写该部分代码
            */

        }
    }
    cout<<maxDistance<<endl;
    return 0;
}

输入

n 和 n 条行走记录

输出

离出发地最远距离

样例输入

11
+15 -2 +5 -1 +10 -3 -2 +12 +4 -5 -6

样例输出

38

提示

代码如下


#include <iostream>
using namespace std;
int main()
{
    int maxDistance=0,relative,sum=0;
    int i,n;
    cin>>n;
    for(i=0; i<n; i++)
    {
        cin>>relative;
        sum+=relative;
        if(sum>0)
        {
            if(maxDistance<sum)
                maxDistance=sum;
        }
        else
        {
           if(-1*maxDistance>sum)
           maxDistance=-1*sum;
        }
    }
    cout<<maxDistance<<endl;
    return 0;
}

代码来源于互联网,仅供参考!