172002025-06-03 12:21:50ercseferencSzimmetrikus sorozatcpp17Futási hiba 48/100296ms131072 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(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;}}}
    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
2Elfogadva119ms7144 KiB
subtask29/9
3Elfogadva2ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms504 KiB
6Elfogadva2ms508 KiB
7Elfogadva1ms316 KiB
subtask314/14
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms520 KiB
subtask425/25
14Elfogadva1ms500 KiB
15Elfogadva2ms316 KiB
16Elfogadva4ms564 KiB
17Elfogadva4ms568 KiB
18Elfogadva4ms564 KiB
19Elfogadva3ms564 KiB
20Elfogadva3ms568 KiB
21Elfogadva2ms500 KiB
subtask50/22
22Elfogadva180ms9620 KiB
23Futási hiba293ms131072 KiB
24Elfogadva256ms11920 KiB
25Elfogadva184ms9692 KiB
26Elfogadva171ms9696 KiB
27Futási hiba287ms131072 KiB
28Elfogadva244ms13792 KiB
29Elfogadva173ms9696 KiB
30Elfogadva168ms9612 KiB
31Futási hiba296ms131072 KiB
32Elfogadva254ms15328 KiB
33Elfogadva187ms9692 KiB
34Elfogadva181ms9688 KiB
35Futási hiba291ms131072 KiB
36Elfogadva256ms16608 KiB
37Elfogadva184ms9696 KiB
subtask60/30
38Elfogadva1ms316 KiB
39Elfogadva123ms7144 KiB
40Elfogadva2ms316 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms504 KiB
43Elfogadva2ms508 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms520 KiB
51Elfogadva1ms500 KiB
52Elfogadva2ms316 KiB
53Elfogadva4ms564 KiB
54Elfogadva4ms568 KiB
55Elfogadva4ms564 KiB
56Elfogadva3ms564 KiB
57Elfogadva3ms568 KiB
58Elfogadva2ms500 KiB
59Elfogadva180ms9620 KiB
60Futási hiba293ms131072 KiB
61Elfogadva256ms11920 KiB
62Elfogadva184ms9692 KiB
63Elfogadva171ms9696 KiB
64Futási hiba287ms131072 KiB
65Elfogadva244ms13792 KiB
66Elfogadva173ms9696 KiB
67Elfogadva168ms9612 KiB
68Futási hiba296ms131072 KiB
69Elfogadva254ms15328 KiB
70Elfogadva187ms9692 KiB
71Elfogadva181ms9688 KiB
72Futási hiba291ms131072 KiB
73Elfogadva256ms16608 KiB
74Elfogadva184ms9696 KiB
75Elfogadva287ms13788 KiB
76Elfogadva192ms10984 KiB
77Elfogadva93ms4948 KiB
78Elfogadva187ms12256 KiB
79Elfogadva133ms10792 KiB
80Elfogadva101ms7912 KiB
81Elfogadva101ms7828 KiB
82Elfogadva103ms7928 KiB
83Elfogadva284ms14560 KiB
84Elfogadva98ms5292 KiB
85Elfogadva140ms10968 KiB
86Elfogadva108ms8076 KiB
87Elfogadva105ms8160 KiB
88Elfogadva107ms8076 KiB
89Elfogadva107ms8072 KiB