Submission #1047350

#TimeUsernameProblemLanguageResultExecution timeMemory
1047350vjudge1Arranging Shoes (IOI19_shoes)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include<shoes.h> using namespace std; const int mxN = 1e5 + 7; int tree[mxN]; int n; void upd(int l,int r) { l++; for( ;n > l;l += l & -l) tree[l]++; for( ;n > r;r += r & -r) tree[r]--; } int que(int pos) { pos--; int res = 0; for( ;pos > 0;pos -= pos & -pos) res += tree[pos]; return res; } int64_t count_swaps(vector<int> a) { n = a.size(); int mark[n]; memset(mark,0,sizeof(mark)); vector<int> sz[2 * n]; int ans = 0; for(int i = 0;n > i;i++) { sz[n + a[i]].push_back(i); } for(int i = 0;n > i;i++) { if(mark[i]) continue; int kayd = -a[i] + n; auto l = upper_bound(sz[kayd].begin(), sz[kayd].end(), i); if(l == sz[kayd].end()) continue; ans += que(i) + (*l - i); if(a[*l] > 0) ans--; upd(i,*l); mark[*l]++; } return ans; }

Compilation message (stderr)

shoes.cpp:20:9: error: ambiguating new declaration of 'int64_t count_swaps(std::vector<int>)'
   20 | int64_t count_swaps(vector<int> a)
      |         ^~~~~~~~~~~
In file included from shoes.cpp:2:
shoes.h:7:11: note: old declaration 'long long int count_swaps(std::vector<int>)'
    7 | long long count_swaps(std::vector<int> S);
      |           ^~~~~~~~~~~