제출 #441449

#제출 시각아이디문제언어결과실행 시간메모리
441449QuantumK9Arranging Shoes (IOI19_shoes)C++17
10 / 100
1105 ms146608 KiB
#include "shoes.h"
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define mp make_pair

map<int, queue<int> > rgt;

long long count_swaps(vector<int> s) {
	//nums
	ll n = s.size()/2;
	ll S = s.size();

	//iterate through s -- preprocess
	for( int i = 0; i < S; i++ ){
		rgt[ s[i] ].push(i);
	}

	bool idim[S];
	memset( idim, true, sizeof idim );

	//process
	ll grand = 0;
	for( int i = 0; i < n; i++ ){

		if( idim[i] ){

			idim[i] = false;
			rgt[ s[i] ].pop();

			//move partner 
			ll val = rgt[ -s[i] ].front();
			for( int j = 0; j < val; j++ ){ grand += idim[j]; }
			idim[val] = false;
			rgt[ -s[i] ].pop();

			if( s[i] > 0 ){ grand++; }
		}

	}	

	return grand;
}
#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...