#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include "longesttrip.h"
using namespace std;
deque<int>ans;
int n;
bool edge(int u,int v)
{
    return are_connected({u},{v});
}
std::vector<int> longest_trip(int N, int D)
{
    n=N;
    ans.clear();
    ///reset eveerything
    if(edge(0,1))
    {
        if(edge(1,2))
        {
            ans.push_back(0);ans.push_back(1);ans.push_back(2);
        }
        else
        {
            ans.push_back(1);ans.push_back(0);ans.push_back(2);
        }
    }
    else
    {
        ans.push_back(0);ans.push_back(2);ans.push_back(1);
    }
    for(int i=3;i<n;i++)
    {
        if(edge(ans.back(),i))ans.push_back(i);
        else ans.push_front(i);
    }
    vector<int>an;
    an.resize(n);
    for(int i=0;i<n;i++)an[i]=ans[i];
    return an;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |