Submission #1271640

#TimeUsernameProblemLanguageResultExecution timeMemory
1271640david_g611Arranging Shoes (IOI19_shoes)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
//#include "shoes.h"

using namespace std;

unordered_map<int, vector<int>> ap;

const int NMAX=2e5;

struct Fenwick
{
    int a[NMAX+11];
    Fenwick()
    {
        for(auto &x:a)x=0;
    }
    void update(int poz, int val)
    {
        for(; poz<=NMAX+10; poz+=poz&(-poz))
            a[poz]+=val;
    }
    int query(int poz)
    {
        int suma=0;
        for(; poz>0; poz-=poz&(-poz))
            suma+=a[poz];
        return suma;
    }

}aib;

long long count_swaps(vector<int> S)
{
    int n=S.size();
    int v[n+1];
    bool folosit[n+1];
    for(auto &x:folosit)x=false;
    for(int i=0; i<n; i++)
    {
        v[i+1]=S[i];
        ap[v[i+1]].push_back(i+1);
    }
    for(auto [x, y]:ap)
       reverse(ap[x].begin(), ap[x].end());///ca se le iau cu pop back

    long long ans=0;
    for(int i=1; i<=n; i++)
    {
        if(!folosit[i])
        {
            int nxt = ap[-v[i]].back();
            ap[-v[i]].pop_back();
            folosit[nxt]=true;

            ans+=(nxt+aib.query(nxt))-(i+aib.query(i))-1;
            if(v[i]>0)ans++;

            aib.update(i, 1);
            aib.update(nxt, -1);
            ap[v[i]].pop_back();
        }

    }
    return ans;
}
int main()
{
    int n;
    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/cc8H2txj.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccYzsRGa.o:shoes.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status