Submission #1112969

#TimeUsernameProblemLanguageResultExecution timeMemory
1112969elotelo966Arranging Shoes (IOI19_shoes)C++17
65 / 100
1050 ms3320 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;

//#define int long long
#define OYY LLONG_MAX
#define mod 1000000007
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define lim 300005
#define fi first
#define se second

typedef long long lo;

int n;

lo cev;
 
long long count_swaps(vector<int> s) {
	n=s.size();
	int tut=n/2;
	bool subtask=1;
	for(int i=0;i<tut;i++){
		if(s[i]>0 || s[i]!=-s[i+tut])subtask=0;
	}
	//cout<<subtask<<endl;
	if(subtask){
		tut--;
		return (lo)tut*(tut+1)/2;
	}
	for(int i=0;i<n;i+=2){
		if(s[i]<0){
			int bul=-1;
			for(int j=i+1;j<n;j++){
				if(s[j]==-s[i]){
					bul=j;
					break;
				}
			}
			for(int j=bul;j>i+1;j--){
				swap(s[j],s[j-1]);
				cev++;
			}
		}
		else{
			int bul=-1;
			for(int j=i+1;j<n;j++){
				if(s[j]==-s[i]){
					bul=j;
					break;
				}
			}
			for(int j=bul;j>i;j--){
				swap(s[j],s[j-1]);
				cev++;
			}
		}
	}
	return cev;
}

/*
int main(){
	//faster
	int m;cin>>m;
	
	vector<int> vv;
	
	for(int i=1;i<=m;i++){
		int x;cin>>x;
		vv.push_back(x);
	}
		
	cout<<count_swaps(vv)<<'\n';
	
	return 0;
}
*/
#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...