Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*
- fun main() {
- val reader = Scanner(System.`in`)
- var testCases: Int = reader.nextInt()
- while (testCases > 0) {
- val inputArray = IntArray(reader.nextInt())
- for (item in inputArray.indices)
- inputArray[item] = reader.nextInt()
- val sortedList = inputArray.sorted().toMutableList()
- val rearrangeList: MutableList<Int> = mutableListOf()
- var flag = true
- if (sortedList.size % 2 != 0) println("NO") else {
- val smallNumbersList = sortedList.subList(0, sortedList.size / 2)
- val bigNumberList = sortedList.subList(sortedList.size / 2, sortedList.size)
- for (i in 0 until smallNumbersList.size) {
- rearrangeList.add(smallNumbersList[i])
- rearrangeList.add(bigNumberList[i])
- }
- rearrangeList.add(smallNumbersList[0])
- rearrangeList.add(bigNumberList[0])
- for (i in 1 until rearrangeList.size - 1 step 1) {
- //𝑏𝑖−1<𝑏𝑖>𝑏𝑖+1
- if (rearrangeList[i] > rearrangeList[i - 1] && rearrangeList[i] > rearrangeList[i + 1]) continue
- // 𝑏𝑖−1>𝑏𝑖<𝑏𝑖+1
- else if (rearrangeList[i] < rearrangeList[i - 1] && rearrangeList[i] < rearrangeList[i + 1]) continue
- else {
- flag = false
- break
- }
- }
- if (flag) {
- println("YES")
- for (i in 0..rearrangeList.size - 3) {
- print("${rearrangeList[i]} ")
- }
- } else println("NO")
- }
- testCases--
- }
- }
Advertisement
RAW Paste Data
Copied
Advertisement