Submission #1026391

#TimeUsernameProblemLanguageResultExecution timeMemory
1026391ezzzayArranging Shoes (IOI19_shoes)C++14
Compilation error
0 ms0 KiB
#include "shoes.h" #include<bits/stdc++.h> using namespace std; #define int long long #define ff first #define ss second #define pb push_back const int N=3e5+5; int bit[N]; int a[N]; vector<int>v[N]; vector<int>ans; int n; int find(int idx){ int s=0; while(idx>0){ s+=bit[idx]; idx-= idx & -idx; } return s; } void update(int idx, int val){ while(idx<N){ bit[idx]+=val; idx+= idx & -idx; } } int fun(){ map<int,int>mp; for(int i=0;i<N;i++)bit[i]=0; for(int i=1;i<=n;i++){ mp[a[i]]; } int idx=1; for(auto it=mp.begin();it!=mp.end();it++){ it->ss = idx++; } for(int i=1;i<=n;i++){ a[i]=mp[a[i]]; } int s=0; for(int i=1;i<=n;i++){ update(a[i],1); s+=i-find(a[i]); } return s; } long long count_swaps(vector<int> s) { vector<int> p(s.size()); vector<stack<int> > v(s.size()+s.size()+1); for(int i=s.size()-1; i>=0; i--){ v[s[i]+s.size()].push(i); } for(int i=0,j=0; i<s.size(); i++){ if(!v[s[i]+s.size()].empty()&&v[s[i]+s.size()].top()==i){ if(s[i]<0){ p[j]=i; j++; p[j++]=v[-s[i]+s.size()].top(); v[s[i]+s.size()].pop(); v[-s[i]+s.size()].pop(); }else{ p[j++]=v[-s[i]+s.size()].top(); p[j]=i; v[s[i]+s.size()].pop(); v[-s[i]+s.size()].pop(); j++; } } } n=s.size(); for(int i=0;i<n;i++){ a[i+1]=p[i]; } return fun(); }

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<long long int>)':
shoes.cpp:57:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     for(int i=0,j=0; i<s.size(); i++){
      |                      ~^~~~~~~~~
/usr/bin/ld: /tmp/ccGCFjuv.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