Go Home

来源:互联网 发布:vivo一键锁屏软件 编辑:程序博客网 时间:2024/05/21 22:19
一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。
但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离?
输入描述:
输入一个正整数N, N <= 50。

接下来N个整数表示坐标,正数表示X轴的正方向,负数表示X轴的负方向。绝对值小于等于100

输出描述:
输出一个整数表示度度熊最少需要走的距离。

输入例子:
4
1 4 -1 3

输出例子:

4

#include<iostream>#include<algorithm>int main(){int N , i , p = 0 , sign = 0 , S = 0;int d[50];std::cin >> N;for ( i = 0; i < N; i++){std::cin >> d[i];}for ( i = 1; i < N-1; i++){if (p < (abs(d[i] - d[i+1]) + abs(d[i] - d[i - 1])) ){p = abs(d[i] - d[i+1]) + abs(d[i] - d[i - 1]);sign = i;}}for ( i = 1; i < N; i++){if (i == sign){i++;S += std::abs(d[i] - d[i - 2]);}elseS += std::abs(d[i] - d[i - 1]);}std::cout << S;return 0;}


原创粉丝点击