108122024-04-15 13:20:20CWMSzimmetrikus sorozatcpp11Hibás válasz 9/100234ms19860 KiB
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;

bool pComp(pair<int, int> a, pair<int, int> b) {
    if (a.first > b.first) return true;
    else if (a.first == b.first) {
        if (a.second > b.second) return true;
        else return false;
    }
    else return false;
}

int main()
{
    int n;
    cin >> n;
    map<int, int> change;
    vector<int> inp(n);
    vector<pair<int, int>> updates;
    for (size_t i = 0; i < n; i++)
    {
        cin >> inp[i];
    }
    for (size_t i = 0; i < n/2; i++)
    {
        int one = inp[i];
        int two = inp[n - i - 1];
        if (change[one] != 0) {
            one = change[one];
        }
        if (change[two] != 0) {
            two = change[two];
        }
        if (one == two) continue;
        else {
            int mx = max(one, two);
            int mn = min(one, two);
            updates.push_back({ mx, mn });
            change[mx] = mn;
        }
    }
    sort(updates.begin(), updates.end(), pComp);
    cout << updates.size() << "\n";
    for (size_t i = 0; i < updates.size(); i++)
    {
        cout << updates[i].first << " " << updates[i].second << "\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
2Hibás válasz97ms8044 KiB
subtask29/9
3Elfogadva3ms2256 KiB
4Elfogadva3ms2588 KiB
5Elfogadva3ms2744 KiB
6Elfogadva3ms2824 KiB
7Elfogadva3ms2944 KiB
subtask30/14
8Elfogadva3ms3308 KiB
9Elfogadva3ms3328 KiB
10Hibás válasz2ms3368 KiB
11Elfogadva3ms3308 KiB
12Elfogadva3ms3328 KiB
13Elfogadva2ms3408 KiB
subtask40/25
14Hibás válasz3ms3412 KiB
15Hibás válasz3ms3552 KiB
16Hibás válasz4ms3660 KiB
17Hibás válasz4ms3852 KiB
18Hibás válasz4ms3896 KiB
19Hibás válasz4ms3920 KiB
20Hibás válasz4ms4172 KiB
21Elfogadva4ms4148 KiB
subtask50/22
22Elfogadva140ms15736 KiB
23Elfogadva153ms16968 KiB
24Elfogadva170ms16928 KiB
25Elfogadva150ms16252 KiB
26Hibás válasz136ms16136 KiB
27Hibás válasz155ms17036 KiB
28Hibás válasz158ms17044 KiB
29Hibás válasz143ms16480 KiB
30Hibás válasz123ms16352 KiB
31Hibás válasz135ms17356 KiB
32Hibás válasz136ms17296 KiB
33Hibás válasz131ms16476 KiB
34Hibás válasz123ms16284 KiB
35Hibás válasz142ms17208 KiB
36Hibás válasz142ms17276 KiB
37Hibás válasz126ms16280 KiB
subtask60/30
38Elfogadva3ms4748 KiB
39Hibás válasz97ms10900 KiB
40Elfogadva3ms2256 KiB
41Elfogadva3ms2588 KiB
42Elfogadva3ms2744 KiB
43Elfogadva3ms2824 KiB
44Elfogadva3ms2944 KiB
45Elfogadva3ms3308 KiB
46Elfogadva3ms3328 KiB
47Hibás válasz2ms3368 KiB
48Elfogadva3ms3308 KiB
49Elfogadva3ms3328 KiB
50Elfogadva2ms3408 KiB
51Hibás válasz3ms3412 KiB
52Hibás válasz3ms3552 KiB
53Hibás válasz4ms3660 KiB
54Hibás válasz4ms3852 KiB
55Hibás válasz4ms3896 KiB
56Hibás válasz4ms3920 KiB
57Hibás válasz4ms4172 KiB
58Elfogadva4ms4148 KiB
59Elfogadva140ms15736 KiB
60Elfogadva153ms16968 KiB
61Elfogadva170ms16928 KiB
62Elfogadva150ms16252 KiB
63Hibás válasz136ms16136 KiB
64Hibás válasz155ms17036 KiB
65Hibás válasz158ms17044 KiB
66Hibás válasz143ms16480 KiB
67Hibás válasz123ms16352 KiB
68Hibás válasz135ms17356 KiB
69Hibás válasz136ms17296 KiB
70Hibás válasz131ms16476 KiB
71Hibás válasz123ms16284 KiB
72Hibás válasz142ms17208 KiB
73Hibás válasz142ms17276 KiB
74Hibás válasz126ms16280 KiB
75Hibás válasz210ms19628 KiB
76Hibás válasz199ms12548 KiB
77Hibás válasz94ms8204 KiB
78Hibás válasz203ms12600 KiB
79Hibás válasz185ms9708 KiB
80Elfogadva126ms15056 KiB
81Elfogadva126ms15064 KiB
82Elfogadva126ms15064 KiB
83Hibás válasz234ms19860 KiB
84Hibás válasz115ms8416 KiB
85Hibás válasz203ms9968 KiB
86Elfogadva145ms15664 KiB
87Elfogadva145ms15796 KiB
88Elfogadva145ms15792 KiB
89Elfogadva143ms15920 KiB