242862026-02-07 23:03:23ercseferencSzimmetrikus sorozatcpp17Accepted 100/100377ms9904 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    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
2Accepted151ms4012 KiB
subtask29/9
3Accepted2ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms316 KiB
6Accepted2ms316 KiB
7Accepted2ms316 KiB
subtask314/14
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms508 KiB
11Accepted1ms508 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
subtask425/25
14Accepted1ms316 KiB
15Accepted2ms316 KiB
16Accepted4ms440 KiB
17Accepted4ms424 KiB
18Accepted4ms512 KiB
19Accepted4ms568 KiB
20Accepted4ms328 KiB
21Accepted3ms316 KiB
subtask522/22
22Accepted224ms6852 KiB
23Accepted194ms7852 KiB
24Accepted256ms7600 KiB
25Accepted215ms6832 KiB
26Accepted201ms6832 KiB
27Accepted231ms7852 KiB
28Accepted231ms7852 KiB
29Accepted193ms6832 KiB
30Accepted175ms6904 KiB
31Accepted217ms7968 KiB
32Accepted209ms7852 KiB
33Accepted177ms6780 KiB
34Accepted173ms6832 KiB
35Accepted209ms7868 KiB
36Accepted202ms7792 KiB
37Accepted177ms6832 KiB
subtask630/30
38Accepted1ms316 KiB
39Accepted158ms3956 KiB
40Accepted2ms316 KiB
41Accepted2ms316 KiB
42Accepted2ms316 KiB
43Accepted2ms316 KiB
44Accepted2ms316 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms508 KiB
48Accepted1ms508 KiB
49Accepted1ms316 KiB
50Accepted1ms316 KiB
51Accepted1ms316 KiB
52Accepted2ms316 KiB
53Accepted4ms440 KiB
54Accepted4ms424 KiB
55Accepted4ms512 KiB
56Accepted4ms568 KiB
57Accepted4ms328 KiB
58Accepted3ms316 KiB
59Accepted224ms6852 KiB
60Accepted194ms7852 KiB
61Accepted256ms7600 KiB
62Accepted215ms6832 KiB
63Accepted201ms6832 KiB
64Accepted231ms7852 KiB
65Accepted231ms7852 KiB
66Accepted193ms6832 KiB
67Accepted175ms6904 KiB
68Accepted217ms7968 KiB
69Accepted209ms7852 KiB
70Accepted177ms6780 KiB
71Accepted173ms6832 KiB
72Accepted209ms7868 KiB
73Accepted202ms7792 KiB
74Accepted177ms6832 KiB
75Accepted377ms9268 KiB
76Accepted310ms4612 KiB
77Accepted115ms2320 KiB
78Accepted319ms4528 KiB
79Accepted252ms2480 KiB
80Accepted223ms5684 KiB
81Accepted211ms5612 KiB
82Accepted209ms5428 KiB
83Accepted370ms9904 KiB
84Accepted133ms2356 KiB
85Accepted272ms2480 KiB
86Accepted231ms5684 KiB
87Accepted232ms5728 KiB
88Accepted234ms5688 KiB
89Accepted229ms5684 KiB