242862026-02-07 23:03:23ercseferencSzimmetrikus sorozatcpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
2Elfogadva151ms4012 KiB
subtask29/9
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
subtask314/14
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms508 KiB
11Elfogadva1ms508 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask425/25
14Elfogadva1ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva4ms440 KiB
17Elfogadva4ms424 KiB
18Elfogadva4ms512 KiB
19Elfogadva4ms568 KiB
20Elfogadva4ms328 KiB
21Elfogadva3ms316 KiB
subtask522/22
22Elfogadva224ms6852 KiB
23Elfogadva194ms7852 KiB
24Elfogadva256ms7600 KiB
25Elfogadva215ms6832 KiB
26Elfogadva201ms6832 KiB
27Elfogadva231ms7852 KiB
28Elfogadva231ms7852 KiB
29Elfogadva193ms6832 KiB
30Elfogadva175ms6904 KiB
31Elfogadva217ms7968 KiB
32Elfogadva209ms7852 KiB
33Elfogadva177ms6780 KiB
34Elfogadva173ms6832 KiB
35Elfogadva209ms7868 KiB
36Elfogadva202ms7792 KiB
37Elfogadva177ms6832 KiB
subtask630/30
38Elfogadva1ms316 KiB
39Elfogadva158ms3956 KiB
40Elfogadva2ms316 KiB
41Elfogadva2ms316 KiB
42Elfogadva2ms316 KiB
43Elfogadva2ms316 KiB
44Elfogadva2ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms508 KiB
48Elfogadva1ms508 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva2ms316 KiB
53Elfogadva4ms440 KiB
54Elfogadva4ms424 KiB
55Elfogadva4ms512 KiB
56Elfogadva4ms568 KiB
57Elfogadva4ms328 KiB
58Elfogadva3ms316 KiB
59Elfogadva224ms6852 KiB
60Elfogadva194ms7852 KiB
61Elfogadva256ms7600 KiB
62Elfogadva215ms6832 KiB
63Elfogadva201ms6832 KiB
64Elfogadva231ms7852 KiB
65Elfogadva231ms7852 KiB
66Elfogadva193ms6832 KiB
67Elfogadva175ms6904 KiB
68Elfogadva217ms7968 KiB
69Elfogadva209ms7852 KiB
70Elfogadva177ms6780 KiB
71Elfogadva173ms6832 KiB
72Elfogadva209ms7868 KiB
73Elfogadva202ms7792 KiB
74Elfogadva177ms6832 KiB
75Elfogadva377ms9268 KiB
76Elfogadva310ms4612 KiB
77Elfogadva115ms2320 KiB
78Elfogadva319ms4528 KiB
79Elfogadva252ms2480 KiB
80Elfogadva223ms5684 KiB
81Elfogadva211ms5612 KiB
82Elfogadva209ms5428 KiB
83Elfogadva370ms9904 KiB
84Elfogadva133ms2356 KiB
85Elfogadva272ms2480 KiB
86Elfogadva231ms5684 KiB
87Elfogadva232ms5728 KiB
88Elfogadva234ms5688 KiB
89Elfogadva229ms5684 KiB