Submission #1307765

#TimeUsernameProblemLanguageResultExecution timeMemory
1307765lufychopArranging Shoes (IOI19_shoes)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>

using namespace std;

long long n;
// vector<long long> seg(1000000,0);
map<long long,deque<long long>> mp;

long long count_swaps(vector<int> s)
{
    n=s.size();
    long long ans=0;
    long long LL=0,RR=n;
    for(int i=0;i<n;i++)
    {
        if(mp[s[i]].empty())
        {
            mp.insert({s[i],{i+1}});
        }
        else
        {
            mp[s[i]].push_back(i+1);
        }
    }
    while(LL<RR)
    {
        if(s[LL]!=0)
        {
            long long tmp=0,tmpLL=s[LL],R;
            if(s[LL]>0)
            {
                ans++;
            }
            s[LL]=0;
            while(mp[-tmpLL].front()<=LL && s[mp[-tmpLL].front()]!=0)
            {
                mp[-tmpLL].pop_front();
            }
            s[mp[-tmpLL].front()]=0;
            R=mp[-tmpLL].front();
            mp[-tmpLL].pop_front();
            for(int i=LL+1;i<mp[-tmpLL].front();i++)
            {
                if(s[i]==0)
                {
                    tmp++;
                }
            }
            ans=ans+R-LL-1-tmp;
        }
        if(s[RR]!=0)
        {
            long long tmp=0,tmpRR=s[RR],L;
            if(s[RR]<0)
            {
                ans++;
            }
            s[RR]=0;
            while(mp[-tmpRR].back()>=LL && s[mp[-tmpRR].back()]!=0)
            {
                mp[-tmpRR].pop_front();
            }
            s[mp[-tmpRR].back()]=0;
            L=mp[-tmpRR].back();
            mp[-tmpRR].pop_back();
            for(int i=RR-1;i>=mp[-tmpRR].front();i--)
            {
                if(s[i]==0)
                {
                    tmp++;
                }
            }
            ans=ans+RR-L-1-tmp;
        }
        LL++;
        RR--;
    }
	return ans;
}

int main(void)
{
    cin>>n;
    vector<int> s(n);
    for(int i=0;i<n;i++)
    {
        
        cin>>s[i];
    }
    cout<<count_swaps(s);
    return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccRkXWnB.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccCWeDm7.o:shoes.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status