# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
368089 | leinad2 | Arranging Shoes (IOI19_shoes) | C++17 | 1094 ms | 8044 KiB |
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 "shoes.h"
#include<bits/stdc++.h>
using namespace std;
long long count_swaps(vector<int>s)
{
long long ans=0;
int cnt=0, A[100010]={}, i, j;
vector<int>v[100010];
for(i=0;i<s.size();i++)
{
if(s[i]<0)
{
v[-s[i]].push_back(++cnt);
}
}
int n=s.size()/2;
for(i=0;i++<n;)reverse(v[i].begin(), v[i].end());
for(cnt=i=0;i<s.size();i++)
{
if(s[i]>0)
{
A[++cnt]=v[s[i]].back();
v[s[i]].pop_back();
}
}
for(i=0;i++<n;)
{
for(j=0;++j<n;)
{
if(A[j]>A[j+1])
{
ans++;
swap(A[j], A[j+1]);
}
}
}
for(cnt=i=0;i<s.size();i++)
{
if(s[i]<0)
{
ans+=abs(2*cnt++-i);
}
}
return ans;
}
Compilation message (stderr)
# | 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... |