109252024-04-19 12:20:02k_balintSzimmetrikus sorozatcpp17Elfogadva 100/100177ms41092 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=2e5+5;

int n;
int arr[c];
vector<int> adj[c];
vector<int> comp;
bool vis[c];
vector<pair<int,int>> ans;

void dfs(int v, int val){
    vis[v]=1;
    for(int x:adj[v]){
        if(!vis[x]){
            ans.push_back(make_pair(comp[x], val));
            dfs(x, val);
        }
    }
}

int f(int k){
    return lower_bound(comp.begin(),comp.end(),k)-comp.begin();
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin>>n;

    comp.push_back(0);
    for(int i=1;i<=n;i++){
        cin>>arr[i];
        comp.push_back(arr[i]);
    }

    sort(comp.begin(), comp.end());
    comp.resize(unique(comp.begin(),comp.end())-comp.begin());

    for(int i=1;i<=n;i++){
        int a = n-i+1;
        if(arr[i]==arr[a]) continue;
        adj[f(arr[i])].push_back(f(arr[a]));
    }

    for(int i=1;i<comp.size();i++){
        if(!vis[i]) dfs(i,comp[i]);
    }

    cout << ans.size() << '\n';
    for(pair<int,int> x:ans){
        cout << x.first << ' ' << x.second << '\n';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva6ms11328 KiB
2Elfogadva76ms19088 KiB
subtask29/9
3Elfogadva6ms11908 KiB
4Elfogadva7ms12232 KiB
5Elfogadva7ms12572 KiB
6Elfogadva7ms12784 KiB
7Elfogadva7ms12788 KiB
subtask314/14
8Elfogadva7ms12924 KiB
9Elfogadva7ms12936 KiB
10Elfogadva6ms13296 KiB
11Elfogadva7ms13292 KiB
12Elfogadva6ms13188 KiB
13Elfogadva7ms13468 KiB
subtask425/25
14Elfogadva6ms13544 KiB
15Elfogadva6ms13592 KiB
16Elfogadva8ms14080 KiB
17Elfogadva8ms13996 KiB
18Elfogadva8ms14104 KiB
19Elfogadva8ms13844 KiB
20Elfogadva8ms13840 KiB
21Elfogadva7ms13788 KiB
subtask522/22
22Elfogadva104ms25248 KiB
23Elfogadva115ms40912 KiB
24Elfogadva115ms40952 KiB
25Elfogadva108ms25480 KiB
26Elfogadva104ms25488 KiB
27Elfogadva119ms39328 KiB
28Elfogadva115ms39676 KiB
29Elfogadva104ms25664 KiB
30Elfogadva103ms25648 KiB
31Elfogadva119ms40904 KiB
32Elfogadva115ms41092 KiB
33Elfogadva105ms25712 KiB
34Elfogadva101ms25728 KiB
35Elfogadva111ms32616 KiB
36Elfogadva108ms36768 KiB
37Elfogadva97ms25704 KiB
subtask630/30
38Elfogadva7ms14584 KiB
39Elfogadva76ms22108 KiB
40Elfogadva6ms11908 KiB
41Elfogadva7ms12232 KiB
42Elfogadva7ms12572 KiB
43Elfogadva7ms12784 KiB
44Elfogadva7ms12788 KiB
45Elfogadva7ms12924 KiB
46Elfogadva7ms12936 KiB
47Elfogadva6ms13296 KiB
48Elfogadva7ms13292 KiB
49Elfogadva6ms13188 KiB
50Elfogadva7ms13468 KiB
51Elfogadva6ms13544 KiB
52Elfogadva6ms13592 KiB
53Elfogadva8ms14080 KiB
54Elfogadva8ms13996 KiB
55Elfogadva8ms14104 KiB
56Elfogadva8ms13844 KiB
57Elfogadva8ms13840 KiB
58Elfogadva7ms13788 KiB
59Elfogadva104ms25248 KiB
60Elfogadva115ms40912 KiB
61Elfogadva115ms40952 KiB
62Elfogadva108ms25480 KiB
63Elfogadva104ms25488 KiB
64Elfogadva119ms39328 KiB
65Elfogadva115ms39676 KiB
66Elfogadva104ms25664 KiB
67Elfogadva103ms25648 KiB
68Elfogadva119ms40904 KiB
69Elfogadva115ms41092 KiB
70Elfogadva105ms25712 KiB
71Elfogadva101ms25728 KiB
72Elfogadva111ms32616 KiB
73Elfogadva108ms36768 KiB
74Elfogadva97ms25704 KiB
75Elfogadva172ms28904 KiB
76Elfogadva137ms26924 KiB
77Elfogadva59ms19784 KiB
78Elfogadva137ms27000 KiB
79Elfogadva111ms22464 KiB
80Elfogadva52ms18104 KiB
81Elfogadva52ms18104 KiB
82Elfogadva52ms18108 KiB
83Elfogadva177ms28904 KiB
84Elfogadva64ms19868 KiB
85Elfogadva115ms22464 KiB
86Elfogadva57ms18108 KiB
87Elfogadva57ms18100 KiB
88Elfogadva57ms18216 KiB
89Elfogadva57ms18320 KiB