Submission #1047354

#TimeUsernameProblemLanguageResultExecution timeMemory
1047354vjudge1Arranging 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;
#define int long long
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;
}
int 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)

/usr/bin/ld: /tmp/ccyDPBp9.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