島連覇上の問題へのOCAC、セカンドゲーム夏の手紙F・ソリューション

島での直線からの手紙
ます。http:オリジナルタイトルリンク//codeforces.com/problemset/problem/567/A
[タイトル]説明
あなたはまっすぐ横軸としてこの島を置くことができるので、ストレート島は、非常に不思議な島です。
島ではn個の都市は、各都市は座標Xiに対応し、そこにあります。
XI-XJ |直線でn個の都市は、あなたが簡単にiとjの都市がある都市の距離を計算することができるようなので|。
送料を支払う必要は都市間の手紙を送って、国際的にはキロあたりドルで知られ、それは無料支払う必要があるI-J-都市から都市への手紙を送信するために、ある| | XI-XJを。
コングコングは、すべての都市、私のために、私は、最大と最小の消費送料が必要とj内の残りのn-1都市でどの都市から都市への手紙を送って、知りたいです。
[入力形式
入力の最初の行の整数nを含有する(2 <= N <= 10 ^ 5)、 直線状の島都市の数を示します。
各都市は、座標X1、X2、...、XNを表すために次の行は、整数の間の空間によって分離されたn個の整数を含んでいます。(-10 ^ 9 <= XI < = 10 ^ 9)
タイトル昇順に都市のn個の座標を確保します。
[]出力形式
、出力n行。いずれかの都市のi番目の最小値と最大値残りのn-1から都市への手紙を送る、それぞれの間の空間と第i行二つの整数は、送料を費やし含みます。
サンプル入力[1]
。4
-5 -2 2 7
[1]の出力例
3 12れる
。3. 9
。4. 7
。5 12れます
サンプル入力[2]
2
-1
[2]の出力例
2 2
2 2
[分析]被験者
被験者は、都市の座標が上昇している私たちに語っているからです。このため:
最初の都市では、最小値は、国際世界第二の都市に送信され、最大値がn番目の国際都市に送信され、
N個の都市のために、最小値は、国際送信されますN-1国際都市目に、最大値が最初の基地国際都市に送信され、
他の都市iについて、最小郵便料金は分である([I + 1] -a [i]は、 [I] -a [I- 1])、 最大値である国際MAX([I] -a [ 1]、[N] -a [I])。
次のようにコードは次のとおりです。

#include <ビット/ STDC ++ H> 
名前空間STDを使用して、
const int型MAXN = 100010; 

整数nを、[MAXN]、ミネソタ州、MAXX。

メインINT(){ 
    CIN >> N。
    以下のために(INT i = 0; iがn <; iは++)CIN >> [I]。
    以下のために(INT i = 0; iがn <; iは++){ 
        (I == 0){場合
            ミネソタは= [1] - [0]。
            MAXX = A [N-1] - [0]。
        } 
        そうでなければ(I == N-1){もし
            ミネソタ州= A [N-1] - [N-2]。
            MAXX = A [N-1] - [0]。
        } 
        他{ 
            ミネソタ州=分([I] - [I-1]、[I + 1] - [I])。
            MAXX = MAX([N-1] - [I]、[I] - [0])。endl; 
    }
        }
        coutの<<ミネソタ州<< "" << MAXX <<てendl; 
    0を返します。
}

 

おすすめ

転載: www.cnblogs.com/ocac/p/11131655.html