242822026-02-07 22:58:38ercseferencSzimmetrikus sorozatcpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva207ms4012 KiB
subtask29/9
3Elfogadva2ms508 KiB
4Elfogadva2ms600 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva1ms316 KiB
subtask314/14
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms504 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask425/25
14Elfogadva1ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva4ms316 KiB
17Elfogadva6ms552 KiB
18Elfogadva4ms492 KiB
19Elfogadva4ms316 KiB
20Elfogadva4ms400 KiB
21Elfogadva3ms316 KiB
subtask522/22
22Elfogadva303ms6836 KiB
23Elfogadva337ms7852 KiB
24Elfogadva398ms7852 KiB
25Elfogadva289ms6828 KiB
26Elfogadva275ms6832 KiB
27Elfogadva375ms7848 KiB
28Elfogadva377ms7852 KiB
29Elfogadva264ms6832 KiB
30Elfogadva240ms6832 KiB
31Elfogadva361ms7848 KiB
32Elfogadva363ms7756 KiB
33Elfogadva250ms6848 KiB
34Elfogadva236ms6884 KiB
35Elfogadva347ms7848 KiB
36Elfogadva344ms7948 KiB
37Elfogadva244ms6832 KiB
subtask630/30
38Elfogadva1ms500 KiB
39Elfogadva208ms4016 KiB
40Elfogadva2ms508 KiB
41Elfogadva2ms600 KiB
42Elfogadva2ms316 KiB
43Elfogadva2ms316 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms504 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva2ms316 KiB
53Elfogadva4ms316 KiB
54Elfogadva6ms552 KiB
55Elfogadva4ms492 KiB
56Elfogadva4ms316 KiB
57Elfogadva4ms400 KiB
58Elfogadva3ms316 KiB
59Elfogadva303ms6836 KiB
60Elfogadva337ms7852 KiB
61Elfogadva398ms7852 KiB
62Elfogadva289ms6828 KiB
63Elfogadva275ms6832 KiB
64Elfogadva375ms7848 KiB
65Elfogadva377ms7852 KiB
66Elfogadva264ms6832 KiB
67Elfogadva240ms6832 KiB
68Elfogadva361ms7848 KiB
69Elfogadva363ms7756 KiB
70Elfogadva250ms6848 KiB
71Elfogadva236ms6884 KiB
72Elfogadva347ms7848 KiB
73Elfogadva344ms7948 KiB
74Elfogadva244ms6832 KiB
75Elfogadva467ms9132 KiB
76Elfogadva363ms4784 KiB
77Elfogadva134ms2356 KiB
78Elfogadva389ms4616 KiB
79Elfogadva273ms2480 KiB
80Elfogadva209ms5428 KiB
81Elfogadva230ms5432 KiB
82Elfogadva218ms5428 KiB
83Elfogadva541ms9900 KiB
84Elfogadva152ms2372 KiB
85Elfogadva298ms2480 KiB
86Elfogadva229ms5764 KiB
87Elfogadva230ms5776 KiB
88Elfogadva238ms5684 KiB
89Elfogadva238ms5684 KiB