QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#479318 | #4925. Adjacent Pairs | Nevll# | 0 | 0ms | 4092kb | C++14 | 1.6kb | 2024-07-15 16:22:29 | 2024-07-15 16:22:30 |
answer
# include <bits/stdc++.h>
# define ll long long
# define ld double
# define fi first
# define se second
# define pii pair<int, int>
# define pll pair<ll, ll>
using namespace std;
int main() {
int cases;
scanf("%d", &cases);
while(cases--) {
int N;
scanf("%d", &N);
map<int, int> M1, M2;
map<pii, vector<int> > M3;
int a1 = 0, a2 = 0;
vector<int> arr(N);
pii bf = {-1, -1};
for(int i=0;i<N;i++) {
scanf("%d", &arr[i]);
if(i%2 == 1) {
M1[arr[i]]++;
if(i > 0) M3[{arr[i], arr[i - 1]}].push_back(i - 1);
} else {
M2[arr[i]]++;
if(i > 0) M3[{arr[i - 1], arr[i]}].push_back(i - 1);
}
}
map<pii, int> res;
for(auto p : M3) {
int ct = 0, cnt = 0;
for(int k=0;k<p.se.size();k++) {
if(cnt == 0) cnt += 2;
else if(p.se[k] == p.se[k - 1] + 1) cnt++;
else {
ct += cnt / 2;
cnt = 2;
}
}
ct += cnt / 2;
res[p.fi] = ct;
}
vector<pii> c1, c2;
c1.clear();
c2.clear();
for(auto p : M1) c1.push_back(p);
for(auto p : M2) c2.push_back(p);
c1.push_back({-1, 0});
c2.push_back({-2, 0});
sort(c1.begin(), c1.end());
sort(c2.begin(), c2.end());
int ans = 1e9;
for(int i=c1.size()-1;i>=0;i--) {
for(int k=c2.size()-1;k>=0;k--) {
if(c1[i].fi == c2[k].fi) continue;
int val = res[{c2[k].fi, c1[i].fi}];
// cout<<"val ; "<<c1[i].fi<<" "<<c2[k].fi<<" "<<val<<endl;
int as = N - c1[i].se - c2[k].se + val;
ans = min(ans, as);
if(val == 0) break;
}
}
printf("%d\n", ans);
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 20
Accepted
time: 0ms
memory: 4092kb
input:
2 5 4 5 2 4 5 2 1 2
output:
3 0
result:
ok 2 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3856kb
input:
1 9 1 2 1 2 3 1 2 1 2
output:
6
result:
ok single line: '6'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
1 7 6 5 4 1 2 6 5
output:
5
result:
ok single line: '5'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3836kb
input:
1 16 4 3 4 3 4 3 4 3 1 4 3 4 1 4 3 4
output:
10
result:
ok single line: '10'
Test #5:
score: 0
Accepted
time: 0ms
memory: 4088kb
input:
9 11 1 4 5 7 9 2 10 3 11 6 8 11 10 7 11 4 3 6 9 2 8 1 5 11 11 9 8 10 1 7 5 4 3 6 2 11 9 10 6 11 5 1 8 7 2 4 3 11 11 6 2 1 10 4 3 8 7 9 5 11 5 10 4 9 6 1 2 7 8 11 3 11 7 9 8 11 6 1 4 5 2 3 10 11 10 3 11 2 6 1 9 7 4 5 8 12 10 9 4 7 11 6 8 12 2 1 3 5
output:
9 9 9 9 9 9 9 9 10
result:
ok 9 lines
Test #6:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
5 19 13 5 17 19 4 9 14 7 15 1 8 10 18 3 6 12 2 16 11 20 2 6 19 12 13 16 8 1 11 7 17 14 4 5 10 18 9 3 15 20 20 10 13 6 17 16 9 8 14 1 5 12 19 20 4 15 11 7 3 2 18 20 13 8 18 16 7 17 10 2 15 1 20 4 19 12 3 14 11 9 5 6 20 4 16 1 19 3 2 6 8 20 7 5 9 10 14 15 13 12 18 11 17
output:
17 18 18 18 18
result:
ok 5 lines
Test #7:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
2 49 21 4 18 35 34 39 9 48 16 33 31 7 10 12 41 40 8 14 2 22 30 24 44 27 42 29 37 17 23 45 32 46 1 26 28 5 25 49 43 6 38 19 11 36 15 47 13 3 20 50 18 4 7 46 39 37 9 20 48 14 3 35 32 43 17 11 31 8 28 26 1 36 6 21 27 12 24 44 29 15 42 38 22 23 45 25 33 2 13 34 41 19 47 49 5 10 40 16 50 30
output:
47 48
result:
ok 2 lines
Test #8:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
10 10 1 3 8 5 9 10 6 4 2 7 10 8 2 1 10 9 4 6 7 5 3 10 5 7 6 8 2 10 9 3 4 1 10 6 1 2 7 9 10 5 3 8 4 10 7 5 2 6 4 1 3 10 9 8 10 2 4 3 1 5 8 7 10 6 9 10 1 9 2 4 5 6 7 10 3 8 10 4 10 7 5 1 3 6 8 9 2 10 8 5 7 9 6 4 1 2 3 10 10 10 6 2 3 1 7 5 4 8 9
output:
8 8 8 8 8 8 8 8 8 8
result:
ok 10 lines
Test #9:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
4 24 8 7 24 21 19 22 12 9 13 11 1 20 3 16 10 6 2 4 15 17 5 14 18 23 25 23 20 1 7 9 22 6 15 25 21 2 14 10 18 11 5 13 4 17 3 24 8 16 19 12 25 17 19 14 8 22 13 10 1 4 20 15 7 25 16 5 23 9 11 12 6 18 24 2 3 21 25 17 2 3 6 13 24 10 25 4 22 1 11 9 14 20 7 15 21 19 16 12 18 8 5 23
output:
22 23 23 23
result:
ok 4 lines
Test #10:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
1 100 91 92 11 30 28 52 95 76 9 21 70 8 89 84 10 37 83 39 97 16 18 2 27 48 58 78 74 72 15 44 7 4 98 45 63 29 55 49 31 13 17 56 32 14 62 93 24 100 12 6 20 94 79 66 22 19 73 67 25 3 57 42 54 60 5 90 64 53 23 80 40 59 34 88 77 46 47 41 26 96 1 65 43 69 51 99 38 36 33 71 61 75 87 68 50 86 35 82 85 81
output:
98
result:
ok single line: '98'
Test #11:
score: -20
Wrong Answer
time: 0ms
memory: 3792kb
input:
10 9 5 4 1 9 6 7 1 3 6 10 5 10 6 10 6 10 8 7 5 1 10 6 10 7 9 7 4 2 8 2 5 10 9 5 3 9 5 3 7 9 7 3 10 2 9 6 10 6 10 7 3 7 10 10 2 5 1 5 10 8 10 5 8 4 10 5 1 3 4 9 4 10 4 1 6 10 7 6 7 10 6 7 6 7 6 10 10 2 4 2 4 9 2 7 2 7 4 10 8 9 10 6 5 6 7 5 1 9
output:
6 6 7 6 5 5 6 6 6 7
result:
wrong answer 2nd lines differ - expected: '5', found: '6'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%