2018網易內推程式設計題 瘋狂佇列

2021-08-06 04:24:01 字數 998 閱讀 9380

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列的瘋狂值是最小的,他們當然決定按照瘋狂值最大的順序來進行列隊。現在給出n個學生的身高,請計算出這些學生列隊的最大可能的瘋狂值。小易老師回來一定會氣得半死。 

輸入描述:

輸入包括兩行,第一行乙個整數n(1 ≤ n ≤ 50),表示學生的人數

第二行為n個整數h[i](1 ≤ h[i] ≤ 1000),表示每個學生的身高

輸出描述:

輸出乙個整數,表示n個學生列隊可以獲得的最大的瘋狂值。

如樣例所示: 

當佇列排列順序是: 25-10-40-5-25, 身高差絕對值的總和為15+30+35+20=100。

這是最大的瘋狂值了。

輸入例子1:

55 10 25 40 25

輸出例子1:

這題的解法就是一大一小交錯著放,最大和最小的先放在一起,然後次大的和次小的再放到兩側,一次類推

ac**;

#include #include #include # define f(i,m,n) for(int i=m; i<=n; i++)

using namespace std;

typedef long long int ll;

int n;

dequed, s;

int main()

sort(s.begin(), s.end());

while(s.size()>=2)

else

else

} }if(s.size()==1)

else

} ll sum=0;

f(i, 0, n-2)

cout

}

2018網易內推程式設計題 瘋狂佇列 C

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列...

2018網易校招內推 瘋狂佇列

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列...

2018網易校招程式設計題(7)瘋狂佇列

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列...