제출 #794535

#제출 시각아이디문제언어결과실행 시간메모리
794535Pablo_NoArranging Shoes (IOI19_shoes)C++17
10 / 100
6 ms9700 KiB
#include "shoes.h"

#include <iostream>
#include <set>

using namespace std;

const int N = 1e5+5;

set<int> p[2*N];
int mvs[2*N];

long long count_swaps(std::vector<int> s) {
	long long ans = 0;

	for(int i = 0; i < s.size(); i++)
	{
		int ai = s[i];
		if(!p[-ai+N].empty())
		{
			int fp = *p[-ai+N].begin();

			ans += (i-fp)-(ai > 0)+mvs[fp];

			for(int x = fp+1; x < i; x++)
				mvs[i]++;

			p[-ai+N].erase(fp);
		}
		else
		{
			p[ai+N].insert(i);
		}
	}

	return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:16:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  for(int i = 0; i < s.size(); i++)
      |                 ~~^~~~~~~~~~
#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...