| Task: | Pair sort |
| Sender: | aalto26dw_006 |
| Submission time: | 2026-09-23 17:10:51 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.04 s | details |
| #2 | WRONG ANSWER | 0.04 s | details |
| #3 | WRONG ANSWER | 0.04 s | details |
| #4 | WRONG ANSWER | 0.04 s | details |
| #5 | WRONG ANSWER | 0.04 s | details |
| #6 | WRONG ANSWER | 0.04 s | details |
| #7 | WRONG ANSWER | 0.04 s | details |
| #8 | WRONG ANSWER | 0.04 s | details |
| #9 | WRONG ANSWER | 0.05 s | details |
| #10 | WRONG ANSWER | 0.05 s | details |
| #11 | WRONG ANSWER | 0.07 s | details |
| #12 | WRONG ANSWER | 0.06 s | details |
| #13 | WRONG ANSWER | 0.09 s | details |
| #14 | WRONG ANSWER | 0.09 s | details |
Code
import sys
input_d = sys.stdin.read().split()
n = int(input_d[0])
arr = [int(i) for i in input_d[1:]]
swaps = []
idx = 0
#have dic with position for each key before iterating so i avoid for i in range(n) everytime using the number as key :D
swapcount = 0
pos = {}
for i in range(len(arr)) :
if not arr[i] in pos.keys():
pos[arr[i]] = [i]
else :
pos[arr[i]].append(i)
#print(pos)
idx = 0
for i in range(n-1):
elem = arr[idx]
a = pos.get(elem)[0]
b = pos.get(elem)[1]
toswap = b if a == idx else a
ind = 1 if a == idx else 0
elemswapped = arr[idx+1]
indswapped = 0 if idx+1 == pos.get(elemswapped)[0] else 1
#print(toswap)
if idx < len(arr) -1 :
swaps.append([idx+1,toswap])
pos.get(elem)[ind] = idx+1
pos.get(elemswapped)[indswapped]= toswap
#print("elem we swap for",pos.get(elem))
#print("elem we sawpped out",pos.get(elemswapped))
arr[toswap], arr[idx+1] = arr[idx+1], arr[toswap] #swap them
idx+=2
swapcount+=1
#print(arr)
print(swapcount)
for s in swaps:
print(*s)
'''for i in range(n-1):
elem = arr[idx]
print("elem is",elem)
print("idx is ",idx)
if idx + 1 < len(arr):
if arr[idx]==arr[idx+1]:
idx+=2
else :
toswap = arr[idx+1:].index(elem)
swaps.append([idx+1,toswap])
#swapping
temp = arr[idx+1]
arr[idx+1] = arr[toswap]
arr[toswap] = temp
swapcount +=1
idx+=2'''
'''
print(swapcount)
print(arr)
print(swaps)'''Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 5 3 2 4 5 1 3 2 1 4 5 |
| correct output |
|---|
| 3 2 6 4 9 6 8 |
| user output |
|---|
| 4 1 5 3 8 5 7 7 7 |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 5 3 2 4 5 1 3 2 1 4 5 |
| correct output |
|---|
| 3 2 6 4 9 6 8 |
| user output |
|---|
| 4 1 5 3 8 5 7 7 7 |
Test 3
Verdict: WRONG ANSWER
| 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 16 3 16 5 16 7 16 ... |
Test 4
Verdict: WRONG ANSWER
| 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 16 3 16 5 16 7 16 ... |
Test 5
Verdict: WRONG ANSWER
| 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 |
|---|
| 49 1 86 3 77 5 70 7 54 ... |
Test 6
Verdict: WRONG ANSWER
| 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 |
|---|
| 49 1 86 3 77 5 70 7 54 ... |
Test 7
Verdict: WRONG ANSWER
| 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 |
|---|
| 99 1 76 3 107 5 140 7 54 ... |
Test 8
Verdict: WRONG ANSWER
| 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 |
|---|
| 99 1 76 3 107 5 140 7 54 ... |
Test 9
Verdict: WRONG ANSWER
| input |
|---|
| 500 56 146 351 35 281 235 354 449 ... |
| correct output |
|---|
| 497 2 758 4 820 6 125 8 243 ... |
| user output |
|---|
| 499 1 757 3 819 5 124 7 242 ... |
Test 10
Verdict: WRONG ANSWER
| input |
|---|
| 500 56 146 351 35 281 235 354 449 ... |
| correct output |
|---|
| 497 2 758 4 820 6 125 8 243 ... |
| user output |
|---|
| 499 1 757 3 819 5 124 7 242 ... |
Test 11
Verdict: WRONG ANSWER
| input |
|---|
| 1000 603 596 351 885 530 235 354 56... |
| correct output |
|---|
| 993 2 256 4 1534 6 816 8 1057 ... |
| user output |
|---|
| 999 1 255 3 1533 5 815 7 1056 ... |
Test 12
Verdict: WRONG ANSWER
| input |
|---|
| 1000 603 596 351 885 530 235 354 56... |
| correct output |
|---|
| 993 2 256 4 1534 6 816 8 1057 ... |
| user output |
|---|
| 999 1 255 3 1533 5 815 7 1056 ... |
Test 13
Verdict: WRONG ANSWER
| input |
|---|
| 5000 1594 596 1797 3776 1201 235 35... |
| correct output |
|---|
| 4993 2 1548 4 9062 6 6397 8 8296 ... |
| user output |
|---|
| 4999 1 1547 3 9061 5 6396 7 8295 ... |
Test 14
Verdict: WRONG ANSWER
| input |
|---|
| 5000 1594 596 1797 3776 1201 235 35... |
| correct output |
|---|
| 4993 2 1548 4 9062 6 6397 8 8296 ... |
| user output |
|---|
| 4999 1 1547 3 9061 5 6396 7 8295 ... |
