Submission #758371

#TimeUsernameProblemLanguageResultExecution timeMemory
758371TrumlingArranging Shoes (IOI19_shoes)C++14
10 / 100
1087 ms2644 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std; 

typedef long long ll;
#define pb push_back
#define F first
#define S second
#define enter cout<<'\n';
#define INF 99999999999999999
#define MOD 1000000007
#define all(x) x.begin(),x.end()

long long count_swaps(std::vector<int> s) 
{
	ll nn=s.size();

	vector<int>v(nn);
	for(int i=0;i<nn;i++)
	v[i]=i;

	ll ans=INF;
	do
	{
	bool tf=1;
	for(int i=0;i<nn/2;i++)
		if(s[v[i*2]]>0 || s[v[i*2]]!=-s[v[i*2+1]])
		{
			tf=0;
			break;
		}

	if(!tf)
	continue;

	ll curr=0;

	vector<int>now(nn);
	
	for(int i=0;i<nn;i++)
		now[i]=i;
	
	for(int i=0;i<nn;i++)
		for(int j=i+1;j<nn;j++)
		{
			if(now[j]==v[i])
				for(int c=j-1;c>=i;c--)
					{
						
					swap(now[c],now[c+1]);
						curr++;
					}
		}
			

		
	ans=min(ans,curr);
	}while(next_permutation(all(v)));	
	

	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...