172842025-06-17 11:52:33ercseferencSzimmetrikus sorozatcpp17Futási hiba 0/10079ms9700 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-1; i++){
        csoportok[t].push_back(a[i].ind);
        a[i].csop=t;
        if(a[i].ert!=a[i+1].ert){
                t++;
                csoportok.push_back(ures);}}
    a[n-1].csop=t; csoportok[n-1].push_back(a[n-1].ind);
    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
1Elfogadva1ms500 KiB
2Futási hiba35ms4328 KiB
subtask20/9
3Futási hiba2ms688 KiB
4Futási hiba1ms316 KiB
5Futási hiba2ms316 KiB
6Futási hiba2ms316 KiB
7Futási hiba2ms500 KiB
subtask30/14
8Futási hiba1ms316 KiB
9Elfogadva1ms316 KiB
10Futási hiba4ms492 KiB
11Elfogadva1ms316 KiB
12Hibás válasz1ms316 KiB
13Futási hiba3ms416 KiB
subtask40/25
14Futási hiba1ms316 KiB
15Elfogadva2ms508 KiB
16Elfogadva4ms564 KiB
17Elfogadva4ms564 KiB
18Elfogadva4ms564 KiB
19Futási hiba2ms564 KiB
20Futási hiba2ms564 KiB
21Elfogadva2ms564 KiB
subtask50/22
22Futási hiba75ms8164 KiB
23Futási hiba79ms9440 KiB
24Futási hiba79ms8160 KiB
25Futási hiba79ms8072 KiB
26Futási hiba75ms8164 KiB
27Futási hiba76ms9468 KiB
28Futási hiba78ms8164 KiB
29Futási hiba79ms8164 KiB
30Futási hiba74ms8164 KiB
31Futási hiba72ms9440 KiB
32Futási hiba70ms8164 KiB
33Futási hiba76ms8164 KiB
34Futási hiba67ms8164 KiB
35Futási hiba71ms9448 KiB
36Futási hiba67ms8164 KiB
37Futási hiba71ms8072 KiB
subtask60/30
38Elfogadva1ms500 KiB
39Futási hiba35ms4328 KiB
40Futási hiba2ms688 KiB
41Futási hiba1ms316 KiB
42Futási hiba2ms316 KiB
43Futási hiba2ms316 KiB
44Futási hiba2ms500 KiB
45Futási hiba1ms316 KiB
46Elfogadva1ms316 KiB
47Futási hiba4ms492 KiB
48Elfogadva1ms316 KiB
49Hibás válasz1ms316 KiB
50Futási hiba3ms416 KiB
51Futási hiba1ms316 KiB
52Elfogadva2ms508 KiB
53Elfogadva4ms564 KiB
54Elfogadva4ms564 KiB
55Elfogadva4ms564 KiB
56Futási hiba2ms564 KiB
57Futási hiba2ms564 KiB
58Elfogadva2ms564 KiB
59Futási hiba75ms8164 KiB
60Futási hiba79ms9440 KiB
61Futási hiba79ms8160 KiB
62Futási hiba79ms8072 KiB
63Futási hiba75ms8164 KiB
64Futási hiba76ms9468 KiB
65Futási hiba78ms8164 KiB
66Futási hiba79ms8164 KiB
67Futási hiba74ms8164 KiB
68Futási hiba72ms9440 KiB
69Futási hiba70ms8164 KiB
70Futási hiba76ms8164 KiB
71Futási hiba67ms8164 KiB
72Futási hiba71ms9448 KiB
73Futási hiba67ms8164 KiB
74Futási hiba71ms8072 KiB
75Futási hiba71ms9700 KiB
76Futási hiba65ms5864 KiB
77Futási hiba43ms4780 KiB
78Futási hiba64ms5864 KiB
79Futási hiba57ms4632 KiB
80Futási hiba70ms7908 KiB
81Futási hiba68ms7912 KiB
82Futási hiba68ms7912 KiB
83Futási hiba79ms9696 KiB
84Futási hiba50ms4776 KiB
85Futási hiba64ms4720 KiB
86Futási hiba75ms8164 KiB
87Futási hiba75ms8088 KiB
88Futási hiba75ms8160 KiB
89Futási hiba75ms8168 KiB