CSES - Datatähti 2017 alku - Results
Submission details
Task:Järjestys
Sender:lutrarutra
Submission time:2016-10-03 22:42:00 +0300
Language:Python3
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.06 s1details
#20.25 s2details
#3--3details

Code

mx = int(input())

s = input().split(" ")
arr = []
editArr = []
counter = 0

for obj in s:
    arr.append(int(obj))

sortedArr = []
sortedArr = arr[:]
sortedArr.sort()



def lol():
    counter = 0
    sr = ""
    tempArr = arr[:]
    tempBiggest = 0
    while arr != sortedArr:
        tempBiggest = 0
        i = 0
        while i < tempArr.__len__():
            tempBiggest = max(tempBiggest, tempArr[i])
            i += 1

        if tempBiggest == 1:
            return [counter, sr]

        indx = tempArr.index(tempBiggest)

        if indx != tempArr.__len__() - 1:
            if indx != 0:

                #bring biggest forward
                counter += 1
                a, b = 0, indx
                sr += str(indx + 1) + " "
                tempArr[b], tempArr[a] = tempArr[a], tempArr[b]

            #change biggest with the last one

            counter += 1
            a, b = 0, tempArr.__len__()-1
            tempArr[b], tempArr[a] = tempArr[a], tempArr[b]
            sr += str(tempArr.__len__()) + " "
        tempArr.remove(tempBiggest)
    return [counter, sr]

a, b = lol()
print(str(a) + "\n" + str(b).strip())

Test details

Test 1

Group: 1

Verdict:

input
10
9 3 4 7 6 5 10 2 8 1

correct output
32
10 10 9 10 9 8 7 9 4 2 1 4 5 2...

user output
14
7 10 7 9 8 4 7 5 6 5 3 4 2 3

Test 2

Group: 2

Verdict:

input
1000
650 716 982 41 133 1000 876 92...

correct output
3984
207 207 206 207 128 127 126 12...

user output
1974
6 1000 97 999 132 998 797 997 ...

Test 3

Group: 3

Verdict:

input
100000
94703 47808 62366 31885 7091 8...

correct output
399956
98676 98676 98675 98676 62994 ...

user output
(empty)