zoukankan      html  css  js  c++  java
  • BNU10792:沙漠旅行者

    有个旅行者计划横穿沙漠,沙漠中水资源很匮乏。旅行者需要依靠补给站的支持,才能横穿整个沙漠。假设所有的补给站都在一条直线上,而且旅行者一定沿着这条直线走。起点在1号补给站,终点在第N号补给站,起点和终点之间有若干个补给站,按照到起点的距离从近到远编号。旅行者有个存储水的袋子,当旅行者走到补给站时,水袋子就能充满。一单位的距离会消耗一个单位的水,现在旅行者想请你帮忙,计算出水袋子最小的容量V,以确保旅行者顺利完成旅途。途中一旦水袋中没有水,而且当前坐标又不是补给站,旅行者就会发生危险。

    Input

    第一行一个正整数 C  表示一共有多少组数据
    对于每一组数据:
    第一行一个正整数N,表示补给站的个数(2<=N<=100000)
    接下来N个整数表示,从1-N号补给站的坐标X,(X<2000000000)
     

    Output

    对于每组数据,输出一行为旅行者能顺利到达终点所需要水袋子的最小容量V。
     

    Sample Input

    1
    6
    1 2 3 4 5 6
    
     

    Sample Output

    1
     
    直接找相邻数相差最大的值
     
    #include <stdio.h>
    #include <algorithm>
    #include <string.h>
    using namespace std;
    long long a[100005];
    
    int main()
    {
        int t,n,i,j;
        long long maxn,r;
        scanf("%d",&t);
        while(t--)
        {
            maxn = 0;
            scanf("%d",&n);
            for(i = 0; i<n; i++)
                scanf("%lld",&a[i]);
            for(i = 1; i<n; i++)
            {
                r = a[i]-a[i-1];
                if(maxn<r)
                    maxn = r;
            }
            printf("%lld
    ",maxn);
        }
    
        return 0;
    }
    
  • 相关阅读:
    5.11实例应用
    VS2015调试
    4.4空间平滑
    4.3图像噪声
    4.2 傅里叶变换
    4.1 图像采样
    4.5.实例应用
    关于split和merge出错问题解决
    Ansible用于网络设备管理 part 3 使用NAPALM成品库
    记办公室小机房停电
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3343356.html
Copyright © 2011-2022 走看看