Task: | Järjestys |
Sender: | inkeri |
Submission time: | 2016-10-11 13:18:56 +0300 |
Language: | Python2 |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 19 |
#2 | ACCEPTED | 37 |
#3 | ACCEPTED | 44 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.06 s | 1 | details |
#2 | ACCEPTED | 0.06 s | 2 | details |
#3 | ACCEPTED | 0.30 s | 3 | details |
Code
def main():maara = int(input(""))luvut = [int(a) for a in raw_input("").split(' ')]kohdat = [None] * (maara + 1)for i in xrange(maara):kohdat[luvut[i]] = isuurin = maara; kaannot = []while True:luku1 = luvut[0] #katsotaan ensimmainen lukuif luku1 == 1: #jos luku on 1, vaihdetaan sen paikkaa suurimman kanssaif suurin == 1:breakwhile True:luku2 = suurinkohta = kohdat[luku2]if kohta != luku2 - 1:breakelse:suurin -= 1if suurin == 0:breakif kohta != 1:kaannot.extend((str(kohta + 1) + " ", str(kohta) + " ",\str(kohta - 1) + " ", str(kohta) + " "))else:kaannot.append(str(kohta + 1) + " ")kohdat[luku2] = 0kohdat[luku1] = kohtaluvut[kohta] = 1luvut[0] = luku2else: #muuten laitetaan luku sen oikeaan paikkaanluku2 = luvut[luku1 - 1]if luku1 != 2:kaannot.extend((str(luku1) + " ", str(luku1 - 1) + " ",\str(luku1 - 2) + " ", str(luku1 - 1) + " ")) #kaannotelse:kaannot.append("2 ")luvut[0] = luku2luvut[luku1 - 1] = luku1kohdat[luku2] = 0kohdat[luku1] = luku1 - 1print len(kaannot)print "".join(kaannot)main()
Test details
Test 1
Group: 1
Verdict: ACCEPTED
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 |
---|
37 9 8 7 8 8 7 6 7 2 3 2 1 2 4 3 ... |
Test 2
Group: 2
Verdict: ACCEPTED
input |
---|
1000 650 716 982 41 133 1000 876 92... |
correct output |
---|
3984 207 207 206 207 128 127 126 12... |
user output |
---|
3997 650 649 648 649 328 327 326 32... |
Test 3
Group: 3
Verdict: ACCEPTED
input |
---|
100000 94703 47808 62366 31885 7091 8... |
correct output |
---|
399956 98676 98676 98675 98676 62994 ... |
user output |
---|
400029 94703 94702 94701 94702 71577 ... |