Submission #493602

#TimeUsernameProblemLanguageResultExecution timeMemory
493602protonArranging Shoes (IOI19_shoes)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; long long merge(int a[], int beg, int mid, int end) { int i = beg, j = mid; long long inv = 0; while(i < mid and j < end) if(a[i] < a[j]) i++; else inv += mid - i, j++; std::inplace_merge(a + beg, a + mid, a + end); return inv; } // sort arr[beg:end) and return no. of inversions long long inversions(int a[], int beg, int end) { long long inv = 0; if(end - beg < 2) return 0; if(end - beg == 2) { if(a[beg] < a[beg + 1]) return 0; else return swap(a[beg], a[beg + 1]), 1; } int mid = (beg + end) >> 1; inv += inversions(a, beg, mid); inv += inversions(a, mid, end); inv += merge(a, beg, mid, end); return inv; } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int a[n + n], p[n + n]; for(int &x: a) cin >> x; queue<int> idx[n + 1]; for(int i = 0, c = 0; i < n + n; i++) { if(a[i] < 0) { p[i] = c; idx[-a[i]].push(c + 1); c += 2; } } for(int i = 0; i < n + n; i++) { if(a[i] > 0) { p[i] = idx[a[i]].front(); idx[a[i]].pop(); } } cout << inversions(p, 0, n + n); }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccxreCBR.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cccLiVsU.o:shoes.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccxreCBR.o: in function `main':
grader.cpp:(.text.startup+0x2a8): undefined reference to `count_swaps(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status