172812025-06-17 11:45:36ercseferencSzimmetrikus sorozatcpp17Futási hiba 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva120ms7140 KiB
subtask29/9
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms500 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms472 KiB
subtask314/14
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask425/25
14Elfogadva1ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva4ms564 KiB
17Elfogadva4ms644 KiB
18Elfogadva4ms756 KiB
19Elfogadva3ms564 KiB
20Elfogadva3ms564 KiB
21Elfogadva2ms564 KiB
subtask50/22
22Elfogadva185ms10756 KiB
23Futási hiba310ms131072 KiB
24Elfogadva257ms13024 KiB
25Elfogadva187ms10920 KiB
26Elfogadva173ms10724 KiB
27Futási hiba307ms131072 KiB
28Elfogadva246ms15080 KiB
29Elfogadva175ms10728 KiB
30Elfogadva173ms10768 KiB
31Futási hiba296ms131072 KiB
32Elfogadva250ms16612 KiB
33Elfogadva182ms10720 KiB
34Elfogadva172ms10892 KiB
35Futási hiba312ms131072 KiB
36Elfogadva263ms17632 KiB
37Elfogadva186ms10748 KiB
subtask60/30
38Elfogadva1ms316 KiB
39Elfogadva128ms7148 KiB
40Elfogadva2ms316 KiB
41Elfogadva2ms316 KiB
42Elfogadva2ms500 KiB
43Elfogadva2ms316 KiB
44Elfogadva2ms472 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva2ms316 KiB
53Elfogadva4ms564 KiB
54Elfogadva4ms644 KiB
55Elfogadva4ms756 KiB
56Elfogadva3ms564 KiB
57Elfogadva3ms564 KiB
58Elfogadva2ms564 KiB
59Elfogadva185ms10756 KiB
60Futási hiba310ms131072 KiB
61Elfogadva257ms13024 KiB
62Elfogadva187ms10920 KiB
63Elfogadva173ms10724 KiB
64Futási hiba307ms131072 KiB
65Elfogadva246ms15080 KiB
66Elfogadva175ms10728 KiB
67Elfogadva173ms10768 KiB
68Futási hiba296ms131072 KiB
69Elfogadva250ms16612 KiB
70Elfogadva182ms10720 KiB
71Elfogadva172ms10892 KiB
72Futási hiba312ms131072 KiB
73Elfogadva263ms17632 KiB
74Elfogadva186ms10748 KiB
75Elfogadva291ms15072 KiB
76Elfogadva195ms12264 KiB
77Elfogadva98ms6408 KiB
78Elfogadva190ms13580 KiB
79Elfogadva130ms12328 KiB
80Elfogadva101ms9192 KiB
81Elfogadva101ms9196 KiB
82Elfogadva104ms9192 KiB
83Elfogadva298ms16512 KiB
84Elfogadva98ms7084 KiB
85Elfogadva140ms12832 KiB
86Elfogadva108ms10212 KiB
87Elfogadva108ms9956 KiB
88Elfogadva109ms9984 KiB
89Elfogadva108ms9960 KiB