2017 Canadian Computing Competition
Problem S2: High Tide, Low Tide
Joe Coder is camping near the Bay of Fundy between Nova Scotia and New Brunswick. When he arrived at the bay, he was told that the difference in height between high tide and low tide at the Bay of Fundy was the largest tidal difference in the world. Ever the skeptic, Joe decided to verify this. He chose a reference point and, after learning from the radio when the tides were highest and lowest, he went with a boat to his reference point and measured the depth of the water. Unfortunately, on the last day of his trip, a strong wind scattered his measurements.
Joe has recovered all of his measurements, but they may not be in their original order. Luckily, he remembers some things about his measurements:
- He started measuring water levels at a low tide, his second measurement was of the water level at high tide, and after that the measurements continued to alternate between low and high tides.
- All high tide measurements were higher than all low tide measurements.
- Joe noticed that as time passed, the high tides only became higher and the low tides only became lower.
Given Joe's measurements in no particular order, you must reconstruct the correct order in which the measurements were taken.
The first line contains the integer N (1 ≤ N ≤ 100). The next line contains N distinct space-separated integers, where each integer is at most 1 000 000.
Output the N integers in the unique order that Joe originally took the measurements.
8 10 50 40 7 3 110 90 2
10 40 7 50 3 90 2 110
The low tide measurements (in order) were 10, 7, 3, and 2. The high tide measurements (in order) were 40, 50, 90, and 110.
Point Value: 7
Time Limit: 1.00s
Memory Limit: 16M
Added: Aug 08, 2017
PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11