242822026-02-07 22:58:38ercseferencSzimmetrikus sorozatcpp17Accepted 100/100541ms9900 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    //ifstream f("szamok.txt");
    //ofstream g("ki.txt");
    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<<endl;
    for(int i=0; i<ans.size(); i+=2)
        cout<<ans[i]<<" "<<ans[i+1]<<endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted207ms4012 KiB
subtask29/9
3Accepted2ms508 KiB
4Accepted2ms600 KiB
5Accepted2ms316 KiB
6Accepted2ms316 KiB
7Accepted1ms316 KiB
subtask314/14
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms504 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
subtask425/25
14Accepted1ms316 KiB
15Accepted2ms316 KiB
16Accepted4ms316 KiB
17Accepted6ms552 KiB
18Accepted4ms492 KiB
19Accepted4ms316 KiB
20Accepted4ms400 KiB
21Accepted3ms316 KiB
subtask522/22
22Accepted303ms6836 KiB
23Accepted337ms7852 KiB
24Accepted398ms7852 KiB
25Accepted289ms6828 KiB
26Accepted275ms6832 KiB
27Accepted375ms7848 KiB
28Accepted377ms7852 KiB
29Accepted264ms6832 KiB
30Accepted240ms6832 KiB
31Accepted361ms7848 KiB
32Accepted363ms7756 KiB
33Accepted250ms6848 KiB
34Accepted236ms6884 KiB
35Accepted347ms7848 KiB
36Accepted344ms7948 KiB
37Accepted244ms6832 KiB
subtask630/30
38Accepted1ms500 KiB
39Accepted208ms4016 KiB
40Accepted2ms508 KiB
41Accepted2ms600 KiB
42Accepted2ms316 KiB
43Accepted2ms316 KiB
44Accepted1ms316 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms504 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted1ms316 KiB
51Accepted1ms316 KiB
52Accepted2ms316 KiB
53Accepted4ms316 KiB
54Accepted6ms552 KiB
55Accepted4ms492 KiB
56Accepted4ms316 KiB
57Accepted4ms400 KiB
58Accepted3ms316 KiB
59Accepted303ms6836 KiB
60Accepted337ms7852 KiB
61Accepted398ms7852 KiB
62Accepted289ms6828 KiB
63Accepted275ms6832 KiB
64Accepted375ms7848 KiB
65Accepted377ms7852 KiB
66Accepted264ms6832 KiB
67Accepted240ms6832 KiB
68Accepted361ms7848 KiB
69Accepted363ms7756 KiB
70Accepted250ms6848 KiB
71Accepted236ms6884 KiB
72Accepted347ms7848 KiB
73Accepted344ms7948 KiB
74Accepted244ms6832 KiB
75Accepted467ms9132 KiB
76Accepted363ms4784 KiB
77Accepted134ms2356 KiB
78Accepted389ms4616 KiB
79Accepted273ms2480 KiB
80Accepted209ms5428 KiB
81Accepted230ms5432 KiB
82Accepted218ms5428 KiB
83Accepted541ms9900 KiB
84Accepted152ms2372 KiB
85Accepted298ms2480 KiB
86Accepted229ms5764 KiB
87Accepted230ms5776 KiB
88Accepted238ms5684 KiB
89Accepted238ms5684 KiB