172842025-06-17 11:52:33ercseferencSzimmetrikus sorozatcpp17Runtime error 0/10079ms9700 KiB
#include <bits/stdc++.h>
using namespace std;
struct par{int a,b;};
struct adatszam{int ert,ind,csop;};
bool has1(adatszam m, adatszam n){
    return m.ert<n.ert;}
bool has2(adatszam m, adatszam n){
    return m.ind<n.ind;}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0); vector<par>b;
    int n,x,y; cin>>n;
    vector<adatszam>a(n);
    for(int i=0; i<n; i++){cin>>a[i].ert; a[i].ind=i;}
    vector<vector<int> >csoportok; int t=0;
    sort(a.begin(),a.end(), has1);
    vector<int>ures; csoportok.push_back(ures);
   for(int i=0; i<n-1; i++){
        csoportok[t].push_back(a[i].ind);
        a[i].csop=t;
        if(a[i].ert!=a[i+1].ert){
                t++;
                csoportok.push_back(ures);}}
    a[n-1].csop=t; csoportok[n-1].push_back(a[n-1].ind);
    sort(a.begin(),a.end(), has2);
    for(int i=0; i<n/2; i++){
        if(a[i].ert!=a[n-i-1].ert){
            if(a[i].ert>a[n-i-1].ert){
                x=n-i-1, y=i;}
            else {x=i; y=n-i-1;}
            par q; q.a=a[y].ert; q.b=a[x].ert; b.push_back(q);
            int v=csoportok[a[y].csop].size();
            int w=a[y].csop;
            for(int j=0; j<v; j++){
                csoportok[a[x].csop].push_back(csoportok[w][j]);
                a[csoportok[w][j]].ert=a[x].ert;
                a[csoportok[w][j]].csop=a[x].csop;}}}
    cout<<b.size()<<endl;
    for(int i=0; i<b.size(); i++)cout<<b[i].a<<" "<<b[i].b<<endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms500 KiB
2Runtime error35ms4328 KiB
subtask20/9
3Runtime error2ms688 KiB
4Runtime error1ms316 KiB
5Runtime error2ms316 KiB
6Runtime error2ms316 KiB
7Runtime error2ms500 KiB
subtask30/14
8Runtime error1ms316 KiB
9Accepted1ms316 KiB
10Runtime error4ms492 KiB
11Accepted1ms316 KiB
12Wrong answer1ms316 KiB
13Runtime error3ms416 KiB
subtask40/25
14Runtime error1ms316 KiB
15Accepted2ms508 KiB
16Accepted4ms564 KiB
17Accepted4ms564 KiB
18Accepted4ms564 KiB
19Runtime error2ms564 KiB
20Runtime error2ms564 KiB
21Accepted2ms564 KiB
subtask50/22
22Runtime error75ms8164 KiB
23Runtime error79ms9440 KiB
24Runtime error79ms8160 KiB
25Runtime error79ms8072 KiB
26Runtime error75ms8164 KiB
27Runtime error76ms9468 KiB
28Runtime error78ms8164 KiB
29Runtime error79ms8164 KiB
30Runtime error74ms8164 KiB
31Runtime error72ms9440 KiB
32Runtime error70ms8164 KiB
33Runtime error76ms8164 KiB
34Runtime error67ms8164 KiB
35Runtime error71ms9448 KiB
36Runtime error67ms8164 KiB
37Runtime error71ms8072 KiB
subtask60/30
38Accepted1ms500 KiB
39Runtime error35ms4328 KiB
40Runtime error2ms688 KiB
41Runtime error1ms316 KiB
42Runtime error2ms316 KiB
43Runtime error2ms316 KiB
44Runtime error2ms500 KiB
45Runtime error1ms316 KiB
46Accepted1ms316 KiB
47Runtime error4ms492 KiB
48Accepted1ms316 KiB
49Wrong answer1ms316 KiB
50Runtime error3ms416 KiB
51Runtime error1ms316 KiB
52Accepted2ms508 KiB
53Accepted4ms564 KiB
54Accepted4ms564 KiB
55Accepted4ms564 KiB
56Runtime error2ms564 KiB
57Runtime error2ms564 KiB
58Accepted2ms564 KiB
59Runtime error75ms8164 KiB
60Runtime error79ms9440 KiB
61Runtime error79ms8160 KiB
62Runtime error79ms8072 KiB
63Runtime error75ms8164 KiB
64Runtime error76ms9468 KiB
65Runtime error78ms8164 KiB
66Runtime error79ms8164 KiB
67Runtime error74ms8164 KiB
68Runtime error72ms9440 KiB
69Runtime error70ms8164 KiB
70Runtime error76ms8164 KiB
71Runtime error67ms8164 KiB
72Runtime error71ms9448 KiB
73Runtime error67ms8164 KiB
74Runtime error71ms8072 KiB
75Runtime error71ms9700 KiB
76Runtime error65ms5864 KiB
77Runtime error43ms4780 KiB
78Runtime error64ms5864 KiB
79Runtime error57ms4632 KiB
80Runtime error70ms7908 KiB
81Runtime error68ms7912 KiB
82Runtime error68ms7912 KiB
83Runtime error79ms9696 KiB
84Runtime error50ms4776 KiB
85Runtime error64ms4720 KiB
86Runtime error75ms8164 KiB
87Runtime error75ms8088 KiB
88Runtime error75ms8160 KiB
89Runtime error75ms8168 KiB