290332026-06-03 19:42:50algoproSzimmetrikus sorozatcpp17Elfogadva 100/100666ms48084 KiB
// UUID: 68f8444e-ccb9-49b2-bc6f-66e4ce1d532c
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define fs first
#define sc second
#define pb push_back
#define pll pair<ll, ll>
#define vll vector<ll>
#define v2ll vector<vll>

const ll MOD = 1e9+7;
const ll INF = LONG_LONG_MAX;

ll n;
vll v;
map<ll, set<ll>> g;
map<ll, bool> vis;
set<ll> s;
vector<set<ll>> anss;

void dfs(ll p) {
    vis[p] = true;
    s.insert(p);
    for (ll i : g[p]) {
        if (!vis[i]) {
            dfs(i);
        }
    }
}

void solve()
{
    cin >> n;
    v.resize(n);
    for (ll &i : v) cin >> i;
    for (ll i = 0; i < n; i++) {
        g[v[i]].insert(v[n-i-1]);
        g[v[n-i-1]].insert(v[i]);
    }
    ll ans = 0;
    for (ll i : v) {
        if (!vis[i]) {
            dfs(i);
            ans += s.size()-1;
            anss.push_back(s);
            s.clear();
        }
    }
    cout << ans << '\n';
    for (auto i : anss) {
        for (auto j : i) {
            if (j == *i.begin()) continue;
            cout << j << ' ' << *i.begin() << '\n';
        }
    }
}
 
main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva247ms18996 KiB
subtask29/9
3Elfogadva3ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva3ms316 KiB
7Elfogadva1ms316 KiB
subtask314/14
8Elfogadva1ms324 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms508 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask425/25
14Elfogadva2ms508 KiB
15Elfogadva3ms564 KiB
16Elfogadva4ms820 KiB
17Elfogadva6ms820 KiB
18Elfogadva4ms820 KiB
19Elfogadva4ms564 KiB
20Elfogadva4ms760 KiB
21Elfogadva4ms820 KiB
subtask522/22
22Elfogadva280ms29828 KiB
23Elfogadva328ms48084 KiB
24Elfogadva363ms48080 KiB
25Elfogadva282ms29828 KiB
26Elfogadva231ms29828 KiB
27Elfogadva277ms46640 KiB
28Elfogadva317ms46644 KiB
29Elfogadva254ms29924 KiB
30Elfogadva202ms29828 KiB
31Elfogadva273ms47768 KiB
32Elfogadva254ms47408 KiB
33Elfogadva239ms29924 KiB
34Elfogadva221ms29928 KiB
35Elfogadva270ms38444 KiB
36Elfogadva257ms43480 KiB
37Elfogadva216ms29920 KiB
subtask630/30
38Elfogadva1ms316 KiB
39Elfogadva293ms18960 KiB
40Elfogadva3ms316 KiB
41Elfogadva2ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva3ms316 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms324 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms508 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva2ms508 KiB
52Elfogadva3ms564 KiB
53Elfogadva4ms820 KiB
54Elfogadva6ms820 KiB
55Elfogadva4ms820 KiB
56Elfogadva4ms564 KiB
57Elfogadva4ms760 KiB
58Elfogadva4ms820 KiB
59Elfogadva280ms29828 KiB
60Elfogadva328ms48084 KiB
61Elfogadva363ms48080 KiB
62Elfogadva282ms29828 KiB
63Elfogadva231ms29828 KiB
64Elfogadva277ms46640 KiB
65Elfogadva317ms46644 KiB
66Elfogadva254ms29924 KiB
67Elfogadva202ms29828 KiB
68Elfogadva273ms47768 KiB
69Elfogadva254ms47408 KiB
70Elfogadva239ms29924 KiB
71Elfogadva221ms29928 KiB
72Elfogadva270ms38444 KiB
73Elfogadva257ms43480 KiB
74Elfogadva216ms29920 KiB
75Elfogadva652ms39656 KiB
76Elfogadva546ms26292 KiB
77Elfogadva107ms7896 KiB
78Elfogadva485ms27444 KiB
79Elfogadva377ms17052 KiB
80Elfogadva402ms30156 KiB
81Elfogadva398ms30172 KiB
82Elfogadva430ms30428 KiB
83Elfogadva666ms40420 KiB
84Elfogadva123ms7988 KiB
85Elfogadva352ms17200 KiB
86Elfogadva497ms31616 KiB
87Elfogadva488ms31704 KiB
88Elfogadva414ms31704 KiB
89Elfogadva409ms31660 KiB