172122025-06-03 16:01:56ercseferencSzimmetrikus sorozatcpp17Runtime error 48/100323ms131072 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
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;}
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0); vector<par>b;
    //ifstream f("szamok.txt");
    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(a[i].ert!=a[i+1].ert && i!=n-1){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;
                csoportok[w]=ures;}}}
    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
2Accepted130ms10980 KiB
subtask29/9
3Accepted2ms508 KiB
4Accepted2ms500 KiB
5Accepted2ms316 KiB
6Accepted2ms508 KiB
7Accepted2ms564 KiB
subtask314/14
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
subtask425/25
14Accepted1ms316 KiB
15Accepted2ms316 KiB
16Accepted4ms564 KiB
17Accepted4ms564 KiB
18Accepted4ms716 KiB
19Accepted3ms564 KiB
20Accepted4ms704 KiB
21Accepted2ms500 KiB
subtask50/22
22Accepted208ms13244 KiB
23Runtime error293ms131072 KiB
24Accepted280ms16308 KiB
25Accepted214ms13240 KiB
26Accepted194ms13288 KiB
27Runtime error270ms131072 KiB
28Accepted282ms19636 KiB
29Accepted208ms13276 KiB
30Accepted195ms13276 KiB
31Runtime error261ms131072 KiB
32Accepted280ms23736 KiB
33Accepted217ms13280 KiB
34Accepted202ms13232 KiB
35Runtime error284ms131072 KiB
36Accepted277ms25824 KiB
37Accepted206ms13232 KiB
subtask60/30
38Accepted1ms316 KiB
39Accepted136ms10984 KiB
40Accepted2ms508 KiB
41Accepted2ms500 KiB
42Accepted2ms316 KiB
43Accepted2ms508 KiB
44Accepted2ms564 KiB
45Accepted1ms316 KiB
46Accepted1ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted1ms316 KiB
51Accepted1ms316 KiB
52Accepted2ms316 KiB
53Accepted4ms564 KiB
54Accepted4ms564 KiB
55Accepted4ms716 KiB
56Accepted3ms564 KiB
57Accepted4ms704 KiB
58Accepted2ms500 KiB
59Accepted208ms13244 KiB
60Runtime error293ms131072 KiB
61Accepted280ms16308 KiB
62Accepted214ms13240 KiB
63Accepted194ms13288 KiB
64Runtime error270ms131072 KiB
65Accepted282ms19636 KiB
66Accepted208ms13276 KiB
67Accepted195ms13276 KiB
68Runtime error261ms131072 KiB
69Accepted280ms23736 KiB
70Accepted217ms13280 KiB
71Accepted202ms13232 KiB
72Runtime error284ms131072 KiB
73Accepted277ms25824 KiB
74Accepted206ms13232 KiB
75Accepted310ms19424 KiB
76Accepted224ms17124 KiB
77Accepted111ms8576 KiB
78Accepted225ms20652 KiB
79Accepted160ms20700 KiB
80Accepted119ms10252 KiB
81Accepted118ms10216 KiB
82Accepted122ms10216 KiB
83Accepted323ms20144 KiB
84Accepted114ms8612 KiB
85Accepted166ms20704 KiB
86Accepted126ms10464 KiB
87Accepted123ms10468 KiB
88Accepted127ms10460 KiB
89Accepted126ms10416 KiB