172122025-06-03 16:01:56ercseferencSzimmetrikus sorozatcpp17Futási hiba 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva130ms10980 KiB
subtask29/9
3Elfogadva2ms508 KiB
4Elfogadva2ms500 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms508 KiB
7Elfogadva2ms564 KiB
subtask314/14
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask425/25
14Elfogadva1ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva4ms564 KiB
17Elfogadva4ms564 KiB
18Elfogadva4ms716 KiB
19Elfogadva3ms564 KiB
20Elfogadva4ms704 KiB
21Elfogadva2ms500 KiB
subtask50/22
22Elfogadva208ms13244 KiB
23Futási hiba293ms131072 KiB
24Elfogadva280ms16308 KiB
25Elfogadva214ms13240 KiB
26Elfogadva194ms13288 KiB
27Futási hiba270ms131072 KiB
28Elfogadva282ms19636 KiB
29Elfogadva208ms13276 KiB
30Elfogadva195ms13276 KiB
31Futási hiba261ms131072 KiB
32Elfogadva280ms23736 KiB
33Elfogadva217ms13280 KiB
34Elfogadva202ms13232 KiB
35Futási hiba284ms131072 KiB
36Elfogadva277ms25824 KiB
37Elfogadva206ms13232 KiB
subtask60/30
38Elfogadva1ms316 KiB
39Elfogadva136ms10984 KiB
40Elfogadva2ms508 KiB
41Elfogadva2ms500 KiB
42Elfogadva2ms316 KiB
43Elfogadva2ms508 KiB
44Elfogadva2ms564 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva2ms316 KiB
53Elfogadva4ms564 KiB
54Elfogadva4ms564 KiB
55Elfogadva4ms716 KiB
56Elfogadva3ms564 KiB
57Elfogadva4ms704 KiB
58Elfogadva2ms500 KiB
59Elfogadva208ms13244 KiB
60Futási hiba293ms131072 KiB
61Elfogadva280ms16308 KiB
62Elfogadva214ms13240 KiB
63Elfogadva194ms13288 KiB
64Futási hiba270ms131072 KiB
65Elfogadva282ms19636 KiB
66Elfogadva208ms13276 KiB
67Elfogadva195ms13276 KiB
68Futási hiba261ms131072 KiB
69Elfogadva280ms23736 KiB
70Elfogadva217ms13280 KiB
71Elfogadva202ms13232 KiB
72Futási hiba284ms131072 KiB
73Elfogadva277ms25824 KiB
74Elfogadva206ms13232 KiB
75Elfogadva310ms19424 KiB
76Elfogadva224ms17124 KiB
77Elfogadva111ms8576 KiB
78Elfogadva225ms20652 KiB
79Elfogadva160ms20700 KiB
80Elfogadva119ms10252 KiB
81Elfogadva118ms10216 KiB
82Elfogadva122ms10216 KiB
83Elfogadva323ms20144 KiB
84Elfogadva114ms8612 KiB
85Elfogadva166ms20704 KiB
86Elfogadva126ms10464 KiB
87Elfogadva123ms10468 KiB
88Elfogadva127ms10460 KiB
89Elfogadva126ms10416 KiB