| Task: | Pair sort |
| Sender: | aalto26dw_007 |
| Submission time: | 2026-09-23 17:30:59 +0300 |
| Language: | Rust (2021) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | details |
| #2 | WRONG ANSWER | 0.00 s | details |
| #3 | WRONG ANSWER | 0.00 s | details |
| #4 | WRONG ANSWER | 0.00 s | details |
| #5 | WRONG ANSWER | 0.00 s | details |
| #6 | WRONG ANSWER | 0.00 s | details |
| #7 | WRONG ANSWER | 0.00 s | details |
| #8 | WRONG ANSWER | 0.00 s | details |
| #9 | WRONG ANSWER | 0.00 s | details |
| #10 | WRONG ANSWER | 0.00 s | details |
| #11 | WRONG ANSWER | 0.01 s | details |
| #12 | WRONG ANSWER | 0.00 s | details |
| #13 | WRONG ANSWER | 0.01 s | details |
| #14 | WRONG ANSWER | 0.01 s | details |
Code
#![allow(unused)]
use std::{io, thread::spawn};
fn take_int() -> usize {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
return input.trim().parse::<usize>().unwrap();
}
fn take_vector() -> Vec<(usize, usize)> {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let arr: Vec<(usize, usize)> = input
.trim()
.split_whitespace()
.map(|x| x.parse::<usize>().unwrap())
.enumerate()
.collect();
return arr;
}
fn main() {
let mut n: usize = take_int();
let mut arr: Vec<(usize, usize)> = take_vector();
let mut sorted = arr.clone();
sorted.sort_by_key(|k| k.1);
// println!("{:?}", arr);
// println!("{:?}", sorted);
// println!("");
let mut i = 0;
let mut count_swaps = 0;
let mut swaps: Vec<(usize, usize)> = Vec::with_capacity(n);
while i < n {
let current = arr[i];
if arr[i + 1].1 != current.1 {
count_swaps += 1;
let index = sorted[current.0 * 2 + 1].0;
// println!("index to change {}", index);
swaps.push((i + 1, index));
let temp = arr[index];
sorted[index].0 = index;
arr[index] = arr[i + 1];
arr[i + 1] = temp;
sorted[i + 1].0 = i+1;
}
// println!("{:?}", arr);
// println!("{:?}", sorted);
// println!("");
i += 2;
}
println!("{}", count_swaps);
for i in 0..swaps.len() {
println!("{} {}", swaps[i].0, swaps[i].1);
}
}
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 |
|---|
| 3 1 7 3 5 5 9 |
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 |
|---|
| 3 1 7 3 5 5 9 |
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 |
|---|
| 5 1 14 3 16 5 19 7 18 ... |
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 |
|---|
| 5 1 14 3 16 5 19 7 18 ... |
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 |
|---|
| 25 1 89 3 95 5 66 7 32 ... |
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 |
|---|
| 25 1 89 3 95 5 66 7 32 ... |
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 |
|---|
| 50 1 89 3 95 5 66 7 145 ... |
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 |
|---|
| 50 1 89 3 95 5 66 7 145 ... |
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 |
|---|
| 250 1 872 3 849 5 717 7 494 ... |
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 |
|---|
| 250 1 872 3 849 5 717 7 494 ... |
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 |
|---|
| 500 1 1702 3 1784 5 1388 7 1047 ... |
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 |
|---|
| 500 1 1702 3 1784 5 1388 7 1047 ... |
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 |
|---|
| 2500 1 6210 3 4168 5 5046 7 8983 ... |
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 |
|---|
| 2500 1 6210 3 4168 5 5046 7 8983 ... |
