Submission #143091

#TimeUsernameProblemLanguageResultExecution timeMemory
143091daniel920712Arranging Shoes (IOI19_shoes)C++14
10 / 100
1089 ms3056 KiB
#include <iostream>
#include <stdio.h>
#include <vector>

using namespace std;
long long count_swaps(std::vector<int> S)
{
    vector<int> S1;
    long long ans1=0,ans2=0,N=S.size(),i,j,k;
    int t;
    for(i=0;i<N;i++) S1.push_back(S[i]);
    for(i=0;i<N/2;i++)
    {
        for(j=2*i;j<N;j++)
        {
            if(S[j]<0)
            {
                ans1+=(j-2*i);
                t=0-S[j];
                for(k=j;k>2*i;k--) swap(S[k],S[k-1]);
                break;
            }
        }
        for(j=2*i+1;j<N;j++)
        {
            if(S[j]==t)
            {
                ans1+=(j-2*i-1);
                for(k=j;k>2*i+1;k--) swap(S[k],S[k-1]);
                break;
            }
        }

    }

    for(i=0;i<N/2;i++)
    {
        for(j=N-2*i-1;j>=0;j--)
        {
            if(S1[j]>0)
            {
                ans2+=(N-2*i-j);
                t=0-S1[j];
                for(k=j;k<N-2*i-1;k++) swap(S1[k],S1[k+1]);
                break;
            }
        }
        for(j=N-2*i-2;j>=0;j--)
        {
            if(S1[j]==t)
            {
                ans2+=(N-2*i-1-j);
                for(k=j;k<N-2*i-2;k++) swap(S1[k],S1[k+1]);
                break;
            }
        }

    }
    //ans1=(N/2)*(N/2-1)/2;
    return min(ans1,ans2);
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:26:13: warning: 't' may be used uninitialized in this function [-Wmaybe-uninitialized]
             if(S[j]==t)
             ^~
#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...