172822025-06-17 11:48:07ercseferencSzimmetrikus sorozatcpp17Futási hiba 48/100307ms131072 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){
            if(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
2Elfogadva119ms7144 KiB
subtask29/9
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms500 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
subtask314/14
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms500 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
subtask425/25
14Elfogadva1ms320 KiB
15Elfogadva2ms500 KiB
16Elfogadva4ms580 KiB
17Elfogadva4ms564 KiB
18Elfogadva4ms568 KiB
19Elfogadva3ms564 KiB
20Elfogadva3ms564 KiB
21Elfogadva2ms316 KiB
subtask50/22
22Elfogadva182ms9732 KiB
23Futási hiba291ms131072 KiB
24Elfogadva263ms11916 KiB
25Elfogadva186ms9608 KiB
26Elfogadva175ms9696 KiB
27Futási hiba307ms131072 KiB
28Elfogadva246ms13792 KiB
29Elfogadva175ms9696 KiB
30Elfogadva172ms9612 KiB
31Futási hiba301ms131072 KiB
32Elfogadva263ms15504 KiB
33Elfogadva190ms9700 KiB
34Elfogadva180ms9608 KiB
35Futási hiba303ms131072 KiB
36Elfogadva252ms16612 KiB
37Elfogadva179ms9692 KiB
subtask60/30
38Elfogadva1ms316 KiB
39Elfogadva128ms7144 KiB
40Elfogadva2ms316 KiB
41Elfogadva2ms316 KiB
42Elfogadva2ms500 KiB
43Elfogadva2ms316 KiB
44Elfogadva2ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms500 KiB
49Elfogadva1ms316 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms320 KiB
52Elfogadva2ms500 KiB
53Elfogadva4ms580 KiB
54Elfogadva4ms564 KiB
55Elfogadva4ms568 KiB
56Elfogadva3ms564 KiB
57Elfogadva3ms564 KiB
58Elfogadva2ms316 KiB
59Elfogadva182ms9732 KiB
60Futási hiba291ms131072 KiB
61Elfogadva263ms11916 KiB
62Elfogadva186ms9608 KiB
63Elfogadva175ms9696 KiB
64Futási hiba307ms131072 KiB
65Elfogadva246ms13792 KiB
66Elfogadva175ms9696 KiB
67Elfogadva172ms9612 KiB
68Futási hiba301ms131072 KiB
69Elfogadva263ms15504 KiB
70Elfogadva190ms9700 KiB
71Elfogadva180ms9608 KiB
72Futási hiba303ms131072 KiB
73Elfogadva252ms16612 KiB
74Elfogadva179ms9692 KiB
75Elfogadva282ms13784 KiB
76Elfogadva187ms10896 KiB
77Elfogadva93ms4948 KiB
78Elfogadva187ms12264 KiB
79Elfogadva130ms10792 KiB
80Elfogadva101ms7912 KiB
81Elfogadva101ms7912 KiB
82Elfogadva101ms7832 KiB
83Elfogadva303ms14568 KiB
84Elfogadva104ms5292 KiB
85Elfogadva140ms10792 KiB
86Elfogadva108ms8160 KiB
87Elfogadva108ms8160 KiB
88Elfogadva108ms8160 KiB
89Elfogadva107ms8164 KiB