Submission #1305801

#TimeUsernameProblemLanguageResultExecution timeMemory
1305801Tesla89Arranging Shoes (IOI19_shoes)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define tesal ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define ain(x,n) for(int i=0;i<n;i++)cin>>x[i]; #define fi first #define se second #define pii pair<int,int> #define YNOut(fun) if(fun){cout<<"YES\n";}else{cout<<"NO\n";} #define deb(arr) {for(auto i:arr){cout<<i<<' ';}cout<<'\n';} #define int long long using namespace std; vector<int>seg; void push_down(int i,int l,int r) { if(l==r)return; seg[i<<1]+=seg[i]; seg[i<<1|1]+=seg[i]; seg[i]=0; } void update(int i,int l,int r,int tl,int tr) { push_down(i,l,r); if(l>tr||r<tl||l>r)return; if(l>=tl&&r<=tr){ seg[i]++; push_down(i,l,r); return; } int mid=l+r>>1; update(i<<1,l,mid,tl,tr); update(i<<1|1,mid+1,r,tl,tr); } int query(int i,int l,int r,int x) { push_down(i,l,r); if(l==r)return seg[i]; int mid=l+r>>1; if(mid>x)return query(i<<1,l,mid,x); return query(i<<1|1,mid+1,r,x); } int64_t count_swaps(const vector<int> S) { tesal; int n=S.size(); int64_t res=0; seg.assign(n<<2,0); queue<pii>qu; map<int,queue<int>>mp; for(int i=0;i<n;i++){ if(S[i]<0)qu.push({i,S[i]}); else mp[S[i]].push(i); } for(int i=0;i<n;i+=2) { int neg=qu.front().fi,num=qu.front().se; qu.pop(); res+=neg+query(1,0,n-1,neg)-i; update(1,0,n-1,0,neg); int pos=mp[-num].front(); mp[-num].pop(); res+=pos+query(1,0,n-1,pos)-i-1; update(1,0,n-1,0,pos); } return res; }

Compilation message (stderr)

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