175912025-08-06 00:26:46peti1234Adjacent Pairscpp17Hibás válasz 0/100509ms29876 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=200005;
int n, k, t[c], l[c], ans, ps[c], pn[c];
map<int, int> m;
map<pair<int, int>, int> f;
vector<pair<int, int> > x, y;
void solve() {
    cin >> n;
    for (int i=1; i<=n; i++) {
        cin >> t[i];
        if (!m[t[i]]) {
            m[t[i]]=++k;
        }
        t[i]=m[t[i]];
        if (i>1) {
            if (!l[i-1] || t[i]!=t[i-2]) {
                l[i]=1;
                int a=t[i-1], b=t[i];
                if (i%2) {
                    swap(a, b);
                }
                f[{a, b}]++;
            }
        }
        if (i%2) {
            pn[t[i]]++;
        } else {
            ps[t[i]]++;
        }
    }
    for (int i=1; i<=k; i++) {
        x.push_back({ps[i], i});
        y.push_back({pn[i], i});
    }
    sort(x.rbegin(), x.rend()), sort(y.rbegin(), y.rend());
    for (auto p:x) {
        int a=p.second;
        for (auto q:y) {
            int b=q.second;
            int s=f[{a, b}];
            ans=max(ans, ps[a]+pn[b]-s);
            if (!s) {
                f.erase({a, b});
                break;
            }
        }
    }
    cout << n-ans << "\n";

    for (int i=0; i<=n; i++) {
        ps[i]=0, pn[i]=0;
        l[i]=0, t[i]=0;
    }
    ans=0;
    m.clear(), f.clear(), x.clear(), y.clear();
    k=0;

}
int main() {
	ios_base::sync_with_stdio(false);
    int w;
    cin >> w;
    while (w--) {
        solve();
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
00/0
1Elfogadva0/01ms316 KiB
10/20
2Hibás válasz1ms316 KiB
3Elfogadva1ms316 KiB
4Hibás válasz1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms428 KiB
14Hibás válasz1ms432 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms564 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms440 KiB
21Elfogadva1ms500 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Hibás válasz1ms508 KiB
25Hibás válasz1ms316 KiB
26Elfogadva1ms316 KiB
27Hibás válasz1ms316 KiB
28Hibás válasz1ms372 KiB
29Hibás válasz1ms316 KiB
30Hibás válasz1ms500 KiB
31Hibás válasz1ms508 KiB
32Elfogadva1ms760 KiB
33Hibás válasz1ms508 KiB
34Hibás válasz1ms316 KiB
35Elfogadva2ms316 KiB
36Hibás válasz1ms524 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
39Hibás válasz1ms316 KiB
40Elfogadva1ms316 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms432 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms432 KiB
20/10
48Elfogadva2ms316 KiB
49Elfogadva1ms332 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva1ms508 KiB
53Elfogadva2ms316 KiB
54Hibás válasz1ms316 KiB
55Hibás válasz1ms316 KiB
56Elfogadva2ms316 KiB
57Elfogadva2ms760 KiB
58Elfogadva2ms316 KiB
59Elfogadva2ms316 KiB
60Elfogadva1ms328 KiB
61Elfogadva1ms316 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva2ms316 KiB
65Elfogadva1ms316 KiB
66Hibás válasz1ms316 KiB
67Hibás válasz1ms316 KiB
68Hibás válasz1ms316 KiB
69Hibás válasz1ms316 KiB
70Hibás válasz1ms564 KiB
71Hibás válasz1ms500 KiB
72Hibás válasz1ms316 KiB
73Hibás válasz1ms540 KiB
74Hibás válasz1ms316 KiB
75Hibás válasz1ms316 KiB
76Hibás válasz1ms316 KiB
77Hibás válasz1ms316 KiB
78Elfogadva1ms316 KiB
79Hibás válasz1ms316 KiB
80Elfogadva1ms316 KiB
81Hibás válasz1ms316 KiB
82Hibás válasz1ms316 KiB
83Hibás válasz1ms316 KiB
84Elfogadva2ms316 KiB
85Elfogadva1ms316 KiB
86Elfogadva1ms316 KiB
87Elfogadva1ms316 KiB
88Elfogadva1ms444 KiB
89Elfogadva1ms316 KiB
90Elfogadva2ms616 KiB
30/25
91Elfogadva3ms316 KiB
92Elfogadva3ms316 KiB
93Elfogadva3ms316 KiB
94Elfogadva4ms316 KiB
95Elfogadva4ms564 KiB
96Elfogadva6ms1048 KiB
97Hibás válasz3ms316 KiB
98Hibás válasz3ms316 KiB
99Hibás válasz3ms316 KiB
100Elfogadva3ms316 KiB
101Elfogadva2ms316 KiB
102Elfogadva2ms564 KiB
103Elfogadva2ms352 KiB
104Elfogadva3ms316 KiB
105Elfogadva2ms316 KiB
106Elfogadva3ms316 KiB
107Elfogadva4ms316 KiB
108Elfogadva4ms820 KiB
109Hibás válasz3ms316 KiB
110Hibás válasz3ms436 KiB
111Hibás válasz3ms564 KiB
112Hibás válasz3ms316 KiB
113Hibás válasz3ms316 KiB
114Hibás válasz4ms700 KiB
115Hibás válasz3ms500 KiB
116Hibás válasz2ms436 KiB
117Hibás válasz2ms316 KiB
118Hibás válasz2ms316 KiB
119Hibás válasz1ms372 KiB
120Hibás válasz2ms316 KiB
121Hibás válasz2ms316 KiB
122Hibás válasz3ms316 KiB
123Elfogadva3ms316 KiB
124Hibás válasz3ms316 KiB
125Hibás válasz4ms568 KiB
126Elfogadva4ms700 KiB
127Elfogadva4ms316 KiB
128Hibás válasz3ms500 KiB
129Hibás válasz3ms528 KiB
130Hibás válasz4ms444 KiB
131Hibás válasz4ms316 KiB
132Elfogadva4ms564 KiB
40/45
133Elfogadva4ms820 KiB
134Elfogadva98ms952 KiB
135Elfogadva101ms820 KiB
136Elfogadva112ms820 KiB
137Elfogadva178ms1020 KiB
138Elfogadva330ms8536 KiB
139Elfogadva509ms29876 KiB
140Hibás válasz94ms956 KiB
141Hibás válasz94ms820 KiB
142Hibás válasz104ms820 KiB
143Hibás válasz64ms1076 KiB
144Elfogadva29ms2352 KiB
145Elfogadva32ms4660 KiB
146Elfogadva70ms820 KiB
147Elfogadva68ms820 KiB
148Elfogadva68ms820 KiB
149Elfogadva114ms1076 KiB
150Elfogadva174ms6060 KiB
151Elfogadva231ms19100 KiB
152Hibás válasz104ms820 KiB
153Hibás válasz101ms948 KiB
154Hibás válasz87ms820 KiB
155Hibás válasz97ms1076 KiB
156Hibás válasz153ms5308 KiB
157Hibás válasz200ms16032 KiB
158Hibás válasz70ms820 KiB
159Hibás válasz50ms820 KiB
160Hibás válasz35ms820 KiB
161Hibás válasz26ms1076 KiB
162Hibás válasz28ms2100 KiB
163Hibás válasz32ms4660 KiB
164Hibás válasz82ms816 KiB
165Hibás válasz97ms820 KiB
166Hibás válasz90ms820 KiB
167Hibás válasz128ms1076 KiB
168Elfogadva197ms5308 KiB
169Elfogadva256ms16040 KiB
170Elfogadva193ms1224 KiB
171Hibás válasz108ms832 KiB
172Hibás válasz115ms836 KiB
173Hibás válasz130ms832 KiB
174Elfogadva160ms1024 KiB
175Elfogadva273ms7612 KiB
176Elfogadva435ms25172 KiB
177Elfogadva158ms9792 KiB
178Elfogadva150ms9792 KiB
179Elfogadva148ms9788 KiB
180Elfogadva156ms9792 KiB
181Elfogadva149ms9876 KiB
182Elfogadva146ms9688 KiB
183Elfogadva158ms9788 KiB
184Elfogadva149ms9792 KiB
185Elfogadva155ms9792 KiB
186Elfogadva143ms9792 KiB