TopCoder

User's AC Ratio

77.8% (7/9)

Submission's AC Ratio

20.0% (7/35)

Tags

Description

小明剛學完排序後,覺得單純按照大小排序很枯燥乏味,所以就想到了另一種排序方法:

給定了一個陣列,要將陣列內每個數取絕對值後由小而大排序,若遇到一正一反相同絕對值的兩數時,則負的值會在前面,正的值會在後面。

請在程式碼的第一行引入標頭檔 lib0592.h,並實作以下函數:

  • void sort_by_abs(int array[], int size)
    • $array$:代表待排序的陣列。
    • $size$:代表此陣列的大小,保證 $1\le size\le 100000$。
    • 此函數會把傳入的 $array$ 做小明的排序。

提示:可以使用 std::sort 中的 compare function。
注意請勿在你的程式碼宣告主函式 main() 以及進行任何輸入輸出的動作,否則將會發生不可預期的結果。

Input Format

本題沒有輸入,隨意輸入將會得到不可預期的結果。

Output Format

本題沒有輸出,隨意輸出將會得到不可預期的結果。

Sample Input 1

3
3 2 3

Sample Output 1

2 3 3

Sample Input 2

5
1 3 8 5 -3

Sample Output 2

1 -3 3 5 8

Sample Input 3

6
1 3 -9 5 3 15

Sample Output 3

1 3 3 5 -9 15

Hints

測試用標頭檔
這裡提供一份本地測試用的標頭檔,你可以將其複製下來存檔成 lib0592.h#include "lib0592.h" 做使用。但請注意,這只是測試用的標頭檔,一些與解題無關的行為將會與 judge 上的有所不同,因此請不要嘗試任何與解題無關的行為,很可能會導致各種不可預期的後果。

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 0~8 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 1 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2