QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#479186 | #4925. Adjacent Pairs | Nevll# | 0 | 0ms | 3800kb | C++14 | 1.3kb | 2024-07-15 15:45:46 | 2024-07-15 15:45:48 |
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, int> M3;
int a1 = 0, a2 = 0;
vector<int> arr(N);
for(int i=0;i<N;i++) {
scanf("%d", &arr[i]);
if(i%2 == 1) {
M1[arr[i]]++;
// cout<<"add : "<<arr[i]<<" "<<arr[i - 1]<<endl;
M3[{arr[i], arr[i - 1]}]++;
// cout<<M3[{2, 5}]<<" "<<M3[{5, 2}]<<endl;
} else {
M2[arr[i]]++;
}
}
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 = M3[{c1[i].fi, c2[k].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);
}
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3800kb
input:
2 5 4 5 2 4 5 2 1 2
output:
3 1
result:
wrong answer 2nd lines differ - expected: '0', found: '1'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%