Submission #1217719

#TimeUsernameProblemLanguageResultExecution timeMemory
1217719vtnooArranging Shoes (IOI19_shoes)C++20
50 / 100
1095 ms1864 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...