제출 #1224786

#제출 시각아이디문제언어결과실행 시간메모리
1224786adiatArranging Shoes (IOI19_shoes)C++20
10 / 100
0 ms328 KiB
#include<bits/stdc++.h>
using namespace std;
#include "shoes.h"
long long count_swaps(std::vector<int> s) {
	long long ans=0;
	map<int , queue<int>> q;
	int n=s.size();
	for(int i=0; i<n; i++)
	{
		q[s[i]].push(i);
	}
	int c=-1;
	for(int i=0; i<n; i++)
	{
		if(i%2==0)
		{
			if(s[i]<0)
			{
				c=s[i];
				q[s[i]].pop();
				continue;
			}
			else
			{
				ans+=(q[-s[i]].front()-i);
				i++;
				q[-s[i]].pop();
			}
		}
		else
		{
			ans+=(q[-c].front()-i);
			q[-c].pop();
		}
	}
	return ans;
	
}
//#include "shoes.h"
//#include <cstdio>
//#include <cassert>
//
//using namespace std;
//
//int main() {
//	int n;
//	assert(1 == scanf("%d", &n));
//	vector<int> S(2 * n);
//	for (int i = 0; i < 2 * n; i++)
//		assert(1 == scanf("%d", &S[i]));
//	fclose(stdin);
//
//	long long result = count_swaps(S);
//
//	printf("%lld\n", result);
//	fclose(stdout);
//	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...