This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int64_t count_swaps(vector<int> s){
int n = s.size(), ans = 0;
for(int i=0;i<2*n;i+=2)
{
for(int j=i+1;j<2*n;j++)
{
if(abs(s[j]) == abs(s[i]))
{
ans += j - i - 1;
for(int k=j-1;k>=i+1;k--) swap(s[k], s[k+1]);
break;
}
}
if(s[i] > s[i + 1])
{
ans += 1;
swap(s[i], s[i + 1]);
}
}
return ans;
}
// int main(){
// vector<int> t1 = {2, 1, -1, -2};
// vector<int> t2 = {-2, 2, 2, -2, -2, 2};
// cout << count_swaps(t2) << '\n';
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |