Submission #870734

#TimeUsernameProblemLanguageResultExecution timeMemory
870734ElioritaArranging Shoes (IOI19_shoes)C++14
Compilation error
0 ms0 KiB
#include "shoes.h" #include<bits/stdc++.h> #define int long long #define pb push_back #define x first #define y second #define getbit(u,i) ((u>>i)&1) #define all(x) x.begin(),x.end() #define N 200001 using namespace std; typedef pair<int,int> ii; typedef pair<double,double> dd; int n,a[N],c[N],temp[N],nxt[N][2],pr[N],cnt; int merge(int l,int mid,int r) { int cnt=0,i=l,j=mid,k=l; while((i<=mid-1)&&(j<=r)) { if(c[i]<=c[j]) temp[k++]=c[i++]; else { temp[k++]=c[j++]; cnt+=(mid-i); } } while(i<=mid-1) temp[k++]=c[i++]; while(j<=r) temp[k++]=c[j++]; for(int i=l;i<=r;i++) c[i]=temp[i]; return cnt; } int mergesort(int l,int r) { int cnt=0; if(l<r) { int mid=(l+r)/2; cnt+=mergesort(l,mid); cnt+=mergesort(mid+1,r); cnt+=merge(l,mid+1,r); } return cnt; } long long count_swaps(std::vector<int> s) { n=s.size()/2; for(int i=2*n-1;i>=0;i--) { if(s[i]<0) { if(!nxt[-s[i]][1]) nxt[-s[i]][0]=i; else { pr[i]=nxt[-s[i]][1]; nxt[-s[i]][1]=0; } } else { if(!nxt[s[i]][0]) nxt[s[i]][1]=i; else { pr[i]=nxt[s[i]][0]; nxt[s[i]][0]=0; } } } for(int i=0;i<2*n;i++) { if(pr[i]!=0) { c[i]=++cnt; c[pr[i]]=++cnt; if(s[i]>0) swap(c[i],c[pr[i]]); } } return mergesort(0,2*n-1); }

Compilation message (stderr)

/usr/bin/ld: /tmp/cc62vXTU.o: in function `main':
grader.cpp:(.text.startup+0x29d): undefined reference to `count_swaps(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status