Submission details
Task:Pair sort
Sender:aalto25d_001
Submission time:2025-09-24 16:33:56 +0300
Language:Python3 (PyPy3)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.05 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.06 sdetails
#13ACCEPTED0.12 sdetails
#14ACCEPTED0.13 sdetails

Code

def main():
    n = int(input())
    arr = list(map(int, input().split()))

    count = 0
    result = []

    for i in range(n):
        firstPos = 2 * i
        secondPos = 2 * i + 1
        prev_num = arr[firstPos]
        curr_num = arr[secondPos]
        if prev_num == curr_num:
            continue
        for j in range(secondPos + 1, 2 * n):
            if arr[j] == curr_num:
                count += 1
                result.append([firstPos + 1, j + 1])
                arr[firstPos], arr[j] = arr[j], arr[firstPos]
        
    print(count)
    for pair in result:
        print(" ".join(map(str, pair)))

    
    



if __name__ == "__main__":
    main()


Test details

Test 1

Verdict: ACCEPTED

input
5
3 2 4 5 1 3 2 1 4 5 

correct output
3
2 6
4 9
6 8

user output
3
1 7
3 10
5 7

Test 2

Verdict: ACCEPTED

input
5
3 2 4 5 1 3 2 1 4 5 

correct output
3
2 6
4 9
6 8

user output
3
1 7
3 10
5 7

Test 3

Verdict: ACCEPTED

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

correct output
9
2 17
4 17
6 17
8 17
...

user output
9
1 3
3 5
5 7
7 15
...

Test 4

Verdict: ACCEPTED

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

correct output
9
2 17
4 17
6 17
8 17
...

user output
9
1 3
3 5
5 7
7 15
...

Test 5

Verdict: ACCEPTED

input
50
47 26 6 35 13 18 9 19 14 50 34...

correct output
48
2 87
4 78
6 71
8 55
...

user output
48
1 99
3 34
5 80
7 69
...
Truncated

Test 6

Verdict: ACCEPTED

input
50
47 26 6 35 13 18 9 19 14 50 34...

correct output
48
2 87
4 78
6 71
8 55
...

user output
48
1 99
3 34
5 80
7 69
...
Truncated

Test 7

Verdict: ACCEPTED

input
100
56 26 6 35 60 72 9 55 83 51 58...

correct output
97
2 77
4 108
6 141
8 55
...

user output
97
1 136
3 34
5 21
7 13
...
Truncated

Test 8

Verdict: ACCEPTED

input
100
56 26 6 35 60 72 9 55 83 51 58...

correct output
97
2 77
4 108
6 141
8 55
...

user output
97
1 136
3 34
5 21
7 13
...
Truncated

Test 9

Verdict: ACCEPTED

input
500
56 146 351 35 281 235 354 449 ...

correct output
497
2 758
4 820
6 125
8 243
...

user output
497
1 232
3 289
5 529
7 195
...
Truncated

Test 10

Verdict: ACCEPTED

input
500
56 146 351 35 281 235 354 449 ...

correct output
497
2 758
4 820
6 125
8 243
...

user output
497
1 232
3 289
5 529
7 195
...
Truncated

Test 11

Verdict: ACCEPTED

input
1000
603 596 351 885 530 235 354 56...

correct output
993
2 256
4 1534
6 816
8 1057
...

user output
993
1 701
3 1198
5 529
7 1861
...
Truncated

Test 12

Verdict: ACCEPTED

input
1000
603 596 351 885 530 235 354 56...

correct output
993
2 256
4 1534
6 816
8 1057
...

user output
993
1 701
3 1198
5 529
7 1861
...
Truncated

Test 13

Verdict: ACCEPTED

input
5000
1594 596 1797 3776 1201 235 35...

correct output
4993
2 1548
4 9062
6 6397
8 8296
...

user output
4993
1 6257
3 5968
5 3502
7 7246
...
Truncated

Test 14

Verdict: ACCEPTED

input
5000
1594 596 1797 3776 1201 235 35...

correct output
4993
2 1548
4 9062
6 6397
8 8296
...

user output
4993
1 6257
3 5968
5 3502
7 7246
...
Truncated