제출 #1030717

#제출 시각아이디문제언어결과실행 시간메모리
1030717fv3Arranging Shoes (IOI19_shoes)C++14
30 / 100
1070 ms5076 KiB
#include "shoes.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

ll dist(vector<int> d, vector<int> v)
{
	vector<ll> m(v.size());

	ll res = 0;
	for (auto e : d)
	{
		for (int i = 0; i < v.size(); i++)
		{
			if (v[i] == -e)
			{
				v.erase(v.begin() + i);
				break;
			}
			res++;
		}

		for (int i = 0; i < v.size(); i++)
		{
			if (v[i] == e)
			{
				v.erase(v.begin() + i);
				break;
			}
			res++;
		}
	}

	return res;
}

ll count_swaps(vector<int> s) 
{
	const ll N = s.size() / 2;
	vector<int> perm;
	for (auto e : s)
		if (e > 0)
			perm.push_back(e);

	sort(perm.begin(), perm.end());

	ll res = 1ll << 60;
	do
	{
		res = min(res, dist(perm, s));
	} while (next_permutation(perm.begin(), perm.end()));

	return res;
}

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

shoes.cpp: In function 'll dist(std::vector<int>, std::vector<int>)':
shoes.cpp:14:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |   for (int i = 0; i < v.size(); i++)
      |                   ~~^~~~~~~~~~
shoes.cpp:24:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |   for (int i = 0; i < v.size(); i++)
      |                   ~~^~~~~~~~~~
shoes.cpp: In function 'll count_swaps(std::vector<int>)':
shoes.cpp:40:11: warning: unused variable 'N' [-Wunused-variable]
   40 |  const ll N = s.size() / 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...