Submission #1287396

#TimeUsernameProblemLanguageResultExecution timeMemory
1287396eri16Arranging Shoes (IOI19_shoes)C++20
70 / 100
16 ms1964 KiB
#include <bits/stdc++.h> using namespace std; long long count_swaps(vector <int> v){ long long cnt=0; long long cur=0; int z=abs(v[0]); int ttt=1; for (int i=0; i<v.size(); i++){ if (abs(v[i])!=abs(z)){ ttt=0; } } if (v.size()<2005){ for (int i=0; i<v.size(); i++){ if (i%2==0){ cur=(v[i])*(-1); int k=v[i]; v[i]=k; } else{ for (int j=i; j<v.size(); j++){ if (v[j]==cur){ cnt+=(j-i); int k=v[j]; for (int ii=j; ii>i; ii--){ v[ii]=v[ii-1]; } v[i]=k; break; } } if (v[i]<v[i-1]){ cnt++; } } /* for (int i=0; i<v.size(); i++){ cout<<v[i]<<' '; } cout<<"\n"; */ } return cnt; } else if(ttt==1){ long long k1=0; long long k2=0; long long ans=0; for (int i=0; i<v.size(); i++){ if (v[i]>0){ ans+=abs(k1*2+1-i); k1++; } if (v[i]<0){ ans+=abs(k2*2-i); k2++; } } return ans/2; } return (v.size()*(v.size()-1)/8); }
#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...