Submission #162796

#TimeUsernameProblemLanguageResultExecution timeMemory
162796kikkatugnoArranging Shoes (IOI19_shoes)C++14
Compilation error
0 ms0 KiB
#include<iostream>
#include<set>
using namespace::std;

set<pair<int,int>> s;
int st[800005],ar[200005];

int build(int i,int l,int r){
	if(l+1==r)
		return st[i]=ar[l];
	int mid=l+(r-l)/2;
	return st[i]=build(i*2,l,mid)+build(i*2+1,mid,r);
}

int query(int i,int l,int r,int s,int e){
	if(s<=l && r<=e)
		return st[i];
	if(s>=r || e<=l)
		return 0;
	int mid=l+(r-l)/2;
	return query(i*2,l,mid,s,e)+query(i*2+1,mid,r,s,e);
}

void point_upd(int i,int l,int r,int ind){
	if(l+1==r && l==ind){
		st[i]++;
		return;
	}
	if(ind>=r || ind<l)
		return ;
	int mid=l+(r-l)/2;
	st[i]++;
	if(ind>=mid)
		point_upd(i*2+1,mid,r,ind);
	else point_upd(i*2,l,mid,ind);
}

int main(){
	int n;
	cin>>n;
	long long int ans=0;
	for(int i=0;i<2*n;i++)
		cin>>ar[i],s.insert({ar[i],i});
	//build(1,0,2*n);
	for(int i=0;i<2*n;i++)
		if(s.find({ar[i],i})!=s.end()){
			pair<int,int> t=*(s.lower_bound({-ar[i],0}));
			ans+=t.second-i-(ar[i]<0)-query(1,0,2*n,i,t.second);
			cout<<t.second<<' '<<i<<' '<<ar[i]<<' '<<query(1,0,2*n,i,t.second)<<'\n';
			point_upd(1,0,2*n,t.second);
			s.erase({ar[i],i});
			s.erase(t);
		}
	cout<<ans<<'\n';
}

Compilation message (stderr)

/tmp/ccHzZJj0.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccA7HI71.o:shoes.cpp:(.text.startup+0x0): first defined here
/tmp/ccHzZJj0.o: In function `main':
grader.cpp:(.text.startup+0x272): undefined reference to `count_swaps(std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status