제출 #1365031

#제출 시각아이디문제언어결과실행 시간메모리
1365031retr0foxx가장 긴 여행 (IOI23_longesttrip)C++20
5 / 100
2 ms344 KiB
#include "longesttrip.h"
#include <deque>
#include <algorithm>


std::vector<int> longest_trip(int N, int D)
{
	std::vector<std::deque<int>> vec;
	vec.push_back((std::deque<int>){0});
	for (int i = 1; i < N; ++i)
	{
		if (vec.size() == 1)
		{
			std::deque<int> &vv = vec[0];
			if (are_connected({vv[0]}, {i}))
				vv.push_back(i);
			else
				vec.push_back((std::deque<int>){i});
		}
		else
		{
			int a = are_connected({vec[0][0]}, {vec[1][0]});
			int b = are_connected({vec[0][0]}, {i});
			int c = are_connected({vec[1][0]}, {i});
			if (a)
			{
				std::reverse(vec[1].begin(), vec[1].end());
				vec[0].insert(vec[0].begin(), vec[1].begin(), vec[1].end());
				vec[1] = std::deque<int>{i};
			}
			else if (b)
			{
				vec[0].push_front(i);
			}
			else
			{
				vec[1].push_front(i);
			}
		}
	}
	std::vector<int> fres(vec[0].begin(), vec[0].end());
	if (vec.size() > 1 && vec[1].size() > vec[0].size())
		fres = std::vector<int>(vec[1].begin(), vec[1].end());
	return fres;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…