Submission #520125

#TimeUsernameProblemLanguageResultExecution timeMemory
520125A_DArranging Shoes (IOI19_shoes)C++14
Compilation error
0 ms0 KiB
#include "shoes.h"

#include <bits/stdc++.h>
using namespace std;
const int NN=1e6+100;
int bit[NN];
deque<int> l[NN];
deque<int> r[NN];
vector<int> a;
void add(int idx,int val)
{
    while(idx<N){
        bit[idx]+=val;
        idx+=(idx)&(-idx);
    }
}
long long get(int idx)
{
    long long ret=0;
    while(idx>0){
        ret+=bit[idx];
        idx-=idx&(-idx);
    }
    return ret;
}
long long count_swaps(vector<int> s){
    long long ans=0;
    int n=s.size();
    vector<bool> vis(n+1);
    a.push_back(0);
    for(int i=0;i<n;i++){
        a.push_back(s[i]);
    }
    for(int i=1;i<=n;i++){
        add(i,1);
        if(a[i]>0){
            r[a[i]].push_back(i);
        }
        else{
            l[-a[i]].push_back(i);
        }
    }
    for(int i=1;i<=n;i++){
        if(vis[i])continue;
        vis[i]=1;
        if(a[i]>0){
            r[a[i]].pop_front();
            ans+=get(l[a[i]].front())-get(i);
            add(l[a[i]].front(),-1);
            vis[l[a[i]].front()]=1;
            l[a[i]].pop_front();
        }
        else{
            l[-a[i]].pop_front();
            ans+=get(r[-a[i]].front())-get(i)-1;
            add(r[-a[i]].front(),-1);
            vis[r[-a[i]].front()]=1;
            r[-a[i]].pop_front();

        }
     //   cout<<ans<<"\n";
       // for(int j=1;j<=n;j++)cout<<vis[j]<<" ";cout<<endl;
    }
//    cout<<endl;
    return ans;
}

Compilation message (stderr)

shoes.cpp: In function 'void add(int, int)':
shoes.cpp:12:15: error: 'N' was not declared in this scope
   12 |     while(idx<N){
      |               ^