제출 #144753

#제출 시각아이디문제언어결과실행 시간메모리
144753monus1042Arranging Shoes (IOI19_shoes)C++17
25 / 100
30 ms1916 KiB
#include "shoes.h"

long long count_swaps(std::vector<int> s) {
	if (s.size()==2){
		if (s[0]<0) return 0;
		else return 1;
	}else if (s.size()<=16){
		long long counterTOT=0;
		for (unsigned int i=0; i<s.size(); i+=2){
			unsigned int j;
			if (s[i]>0){
				j=i+1;
				while(s[j]>0){
					++j;
				}
				while(i!=j){
					std::swap(s[j],s[j-1]);
					++counterTOT;
					--j;
				}
			}
			j=i+1;
			while(s[j]!=s[i]*-1){
				++j;
			}
			while(i+1!=j){
				std::swap(s[j],s[j-1]);
				++counterTOT;
				--j;
			}
		}
		return counterTOT;
	}else{
		long long x=s.size()/2 ;
		return x*(x-1)/2;
	}
}
#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...