Submission #1199966

#TimeUsernameProblemLanguageResultExecution timeMemory
1199966ElayV13Arranging Shoes (IOI19_shoes)C++20
10 / 100
13 ms1868 KiB
#include "shoes.h"
#include "bits/stdc++.h"
using namespace std;

int get(vector < int > p , vector < int > s)
{
        vector < int > req;
        for(int i : p) req.push_back(-i) , req.push_back(i);
        int res = 0;
        for(int i = 0;i < req.size();i++)
        {
                if(s[i] == req[i]) continue;
                int first = -1;
                for(int j = i;j < s.size();j++)
                {
                        if(s[j] == req[i]) {first = j; break;}
                }
                int po = first;
                while(po != i)
                {
                        ++res;
                        swap(s[po] , s[po - 1]);
                        --po;
                }
        }
        return  res;
}

long long count_swaps(vector < int > s)
{
        int n = s.size() / 2;
        int sn = 0 , sp = 0;
        for(int i = 0;i < s.size();i++)
        {
                if(s[i] > 0) sp += i;
                else sn += i;
        }
        int nreq = 0 , preq = 0;
        for(int i = 0;i < s.size();i++)
        {
                if(i % 2 == 0) nreq += i;
                else preq += i;
        }
        return min(abs(sn - nreq) , abs(sp - preq));
}
#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...