172812025-06-17 11:45:36ercseferencSzimmetrikus sorozatcpp17Runtime error 48/100312ms131072 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; i++){
        csoportok[t].push_back(a[i].ind);
        a[i].csop=t;
        if(i!=n-1 && a[i].ert!=a[i+1].ert){t++;
        csoportok.push_back(ures);}}
    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
1Accepted1ms316 KiB
2Accepted120ms7140 KiB
subtask29/9
3Accepted2ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms500 KiB
6Accepted2ms316 KiB
7Accepted2ms472 KiB
subtask314/14
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
subtask425/25
14Accepted1ms316 KiB
15Accepted2ms316 KiB
16Accepted4ms564 KiB
17Accepted4ms644 KiB
18Accepted4ms756 KiB
19Accepted3ms564 KiB
20Accepted3ms564 KiB
21Accepted2ms564 KiB
subtask50/22
22Accepted185ms10756 KiB
23Runtime error310ms131072 KiB
24Accepted257ms13024 KiB
25Accepted187ms10920 KiB
26Accepted173ms10724 KiB
27Runtime error307ms131072 KiB
28Accepted246ms15080 KiB
29Accepted175ms10728 KiB
30Accepted173ms10768 KiB
31Runtime error296ms131072 KiB
32Accepted250ms16612 KiB
33Accepted182ms10720 KiB
34Accepted172ms10892 KiB
35Runtime error312ms131072 KiB
36Accepted263ms17632 KiB
37Accepted186ms10748 KiB
subtask60/30
38Accepted1ms316 KiB
39Accepted128ms7148 KiB
40Accepted2ms316 KiB
41Accepted2ms316 KiB
42Accepted2ms500 KiB
43Accepted2ms316 KiB
44Accepted2ms472 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted1ms316 KiB
51Accepted1ms316 KiB
52Accepted2ms316 KiB
53Accepted4ms564 KiB
54Accepted4ms644 KiB
55Accepted4ms756 KiB
56Accepted3ms564 KiB
57Accepted3ms564 KiB
58Accepted2ms564 KiB
59Accepted185ms10756 KiB
60Runtime error310ms131072 KiB
61Accepted257ms13024 KiB
62Accepted187ms10920 KiB
63Accepted173ms10724 KiB
64Runtime error307ms131072 KiB
65Accepted246ms15080 KiB
66Accepted175ms10728 KiB
67Accepted173ms10768 KiB
68Runtime error296ms131072 KiB
69Accepted250ms16612 KiB
70Accepted182ms10720 KiB
71Accepted172ms10892 KiB
72Runtime error312ms131072 KiB
73Accepted263ms17632 KiB
74Accepted186ms10748 KiB
75Accepted291ms15072 KiB
76Accepted195ms12264 KiB
77Accepted98ms6408 KiB
78Accepted190ms13580 KiB
79Accepted130ms12328 KiB
80Accepted101ms9192 KiB
81Accepted101ms9196 KiB
82Accepted104ms9192 KiB
83Accepted298ms16512 KiB
84Accepted98ms7084 KiB
85Accepted140ms12832 KiB
86Accepted108ms10212 KiB
87Accepted108ms9956 KiB
88Accepted109ms9984 KiB
89Accepted108ms9960 KiB