242842026-02-07 23:00:32ercseferencSzimmetrikus sorozatcpp17Accepted 100/100312ms9900 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n; cin>>n;
    vector<int>a(n);
    map<int,int>b;
    for(int i=0; i<n; i++){
        cin>>a[i]; b[a[i]]=a[i];}
    vector<int>ans;
    for(int i=0; i<n/2; i++){
        int p=a[i], q=a[n-i-1];
        while(p!=b[p]){p=b[p];}
        while(q!=b[q]){q=b[q];}
        int p2=a[i], q2=a[n-i-1];
        while(p2!=b[p2]){int t=p2; p2=b[p2]; b[t]=p;}
        while(q2!=b[q2]){int t=q2; q2=b[q2]; b[t]=q;}
        if(p==q)continue;
        int x=min(p,q);
        int y=max(p,q);
        ans.push_back(y);
        ans.push_back(x);
        b[y]=x;}
    cout<<ans.size()/2<<'\n';
    for(int i=0; i<ans.size(); i+=2)
        cout<<ans[i]<<" "<<ans[i+1]<<'\n';
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms500 KiB
2Accepted127ms4020 KiB
subtask29/9
3Accepted2ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms316 KiB
6Accepted2ms316 KiB
7Accepted1ms316 KiB
subtask314/14
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms560 KiB
subtask425/25
14Accepted1ms316 KiB
15Accepted2ms316 KiB
16Accepted3ms316 KiB
17Accepted3ms564 KiB
18Accepted3ms512 KiB
19Accepted3ms464 KiB
20Accepted3ms316 KiB
21Accepted2ms316 KiB
subtask522/22
22Accepted178ms6860 KiB
23Accepted143ms7784 KiB
24Accepted209ms7556 KiB
25Accepted170ms6772 KiB
26Accepted153ms6980 KiB
27Accepted184ms7848 KiB
28Accepted172ms7848 KiB
29Accepted144ms6828 KiB
30Accepted134ms6828 KiB
31Accepted162ms7848 KiB
32Accepted156ms7824 KiB
33Accepted128ms6828 KiB
34Accepted126ms6828 KiB
35Accepted159ms7848 KiB
36Accepted150ms7848 KiB
37Accepted126ms6828 KiB
subtask630/30
38Accepted1ms316 KiB
39Accepted128ms4020 KiB
40Accepted2ms316 KiB
41Accepted2ms316 KiB
42Accepted2ms316 KiB
43Accepted2ms316 KiB
44Accepted1ms316 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted1ms560 KiB
51Accepted1ms316 KiB
52Accepted2ms316 KiB
53Accepted3ms316 KiB
54Accepted3ms564 KiB
55Accepted3ms512 KiB
56Accepted3ms464 KiB
57Accepted3ms316 KiB
58Accepted2ms316 KiB
59Accepted178ms6860 KiB
60Accepted143ms7784 KiB
61Accepted209ms7556 KiB
62Accepted170ms6772 KiB
63Accepted153ms6980 KiB
64Accepted184ms7848 KiB
65Accepted172ms7848 KiB
66Accepted144ms6828 KiB
67Accepted134ms6828 KiB
68Accepted162ms7848 KiB
69Accepted156ms7824 KiB
70Accepted128ms6828 KiB
71Accepted126ms6828 KiB
72Accepted159ms7848 KiB
73Accepted150ms7848 KiB
74Accepted126ms6828 KiB
75Accepted289ms9160 KiB
76Accepted252ms4784 KiB
77Accepted68ms2336 KiB
78Accepted277ms4784 KiB
79Accepted208ms2484 KiB
80Accepted179ms5684 KiB
81Accepted171ms5684 KiB
82Accepted173ms5684 KiB
83Accepted312ms9900 KiB
84Accepted75ms2356 KiB
85Accepted216ms2744 KiB
86Accepted172ms5828 KiB
87Accepted172ms5684 KiB
88Accepted181ms5684 KiB
89Accepted178ms5684 KiB