Submission #1288205

#TimeUsernameProblemLanguageResultExecution timeMemory
1288205m.zeeshanrashidArranging Shoes (IOI19_shoes)C++20
10 / 100
1 ms352 KiB
#include "shoes.h"
#include "bits/stdc++.h"
using namespace std;

#define ll long long

ll count_swaps(vector<int> a) {
	int n=a.size()/2;
	ll ans=0;
	map<int,int>d;
	vector<int>co(2*n,0);
	map<int,vector<int>>ind;
	for(int i=0;i<2*n;i++) ind[a[i]].push_back(i);
	for(int i=0;i<2*n;i++){
		if(ind[a[i]].back()>ind[a[i]][0]){
			sort(rbegin(ind[a[i]]),rend(ind[a[i]]));
		}
	}
	for(int i=0;i<2*n;i++){
		int x=a[i],y=-a[i];
		if(co[i]) continue;
		if(ind[x].size()==0 or ind[y].size()==0){
			cout<<i<<" 1234\n";
			return 1ll;
		}
		co[i]=1;
		int f=0;
		if(x>0) f=1;
		f+=max(0,ind[y].back()-(i+1));
		co[ind[y].back()]=1;
		ind[y].pop_back();
		ans+=f;
		ind[x].pop_back();
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...