#include <bits/stdc++.h>
#define forsn(i,s,n) for(int i=s; i<n; ++i)
#define forn(i,n) forsn(i,0,n)
#define pb push_back
#define snd second
#define fst first
#define all(x) x.begin(), x.end()
#define imp(x) for(auto __:x)cout<<__<<" "; cout<<endl;
#define sz(c) int((c).size())
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;
ll count_swaps(vi s) {
int n=sz(s);
ll ans=0;
for(int i=0; i<n; i+=2){
//~ cout<<s[i]<<endl;
if(s[i]<0){
forsn(j,i+1,n){
if(s[j]>0&&s[j]==abs(s[i])){
ans+=1ll*j-1ll*i-1ll*1;
//~ cout<<ans<<endl;
int aux2=s[j];
s.erase(s.begin()+j);
s.insert(s.begin()+i+1, aux2);
break;
}
}
}else{
forsn(j,i+1,n){
if(s[j]<0&&s[j]==-s[i]){
ans+=1ll*j-1ll*i-1ll*1+1;
//~ cout<<ans<<endl;
int aux2=s[j];
s.erase(s.begin()+j);
s.insert(s.begin()+i+1, aux2);
swap(s[i], s[i+1]);
break;
}
}
}
}
return ans;
}
# | 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... |