Submission #1347970

#TimeUsernameProblemLanguageResultExecution timeMemory
1347970feyzaArranging Shoes (IOI19_shoes)C++20
50 / 100
1095 ms1960 KiB
#include <bits/stdc++.h>
#include "shoes.h"

using namespace std;

typedef long long ll;

ll solve1(vector<int> & s)
{
    if(s[0]>0)
        return 1;
    else
        return 0;
}

ll solve8(vector<int> & s)
{
    int sz=s.size();
    ll ans=0;
    for(int i=0;i<sz;i+=2)
    {
        int j=i+1;
        while(j<sz && s[j]!=-s[i])
            j++;

        ans+=(j-(i+1));

        for(int k=j;k>i+1;k--)
            s[k]=s[k-1];
        s[i+1]=-s[i];

        if(s[i]>0)
        {
            swap(s[i],s[i+1]);
            ans++;
        }
    }

    return ans;
}

long long count_swaps(std::vector<int> S)
{
    if(S.size()==2)
        return solve1(S);

    //if(S.size()<=16)
        return solve8(S);

    /*int cnt_left=0;

    int sz=S.size();
    ll ans=0;
    for(int i=0;i<sz;i++)
    {
        if(S[i]<0)
        {
            cnt_left++;

            ans+=(abs(2*cnt_left-1-(i+1)));
        }
    }

    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...