Submission #900478

#TimeUsernameProblemLanguageResultExecution timeMemory
900478abcvuitunggioLongest Trip (IOI23_longesttrip)C++17
40 / 100
8 ms680 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;
vector <int> longest_trip(int N, int D){
    if (D>1){
        deque <int> q={0};
        if (!are_connected({0},{1}))
            q.push_back(2);
        q.push_back(1);
        for (int i=q.size();i<N;i++)
            if (are_connected({i},{q.front()}))
                q.push_front(i);
            else
                q.push_back(i);
        vector <int> res;
        for (int i:q)
            res.push_back(i);
        return res;
    }
    vector <int> a,b;
    a.push_back(0);
    b.push_back(1);
    for (int i=2;i<N;i++){
        if (are_connected({a.back()},{i})){
            a.push_back(i);
            continue;
        }
        if (are_connected({b.back()},{i})){
            b.push_back(i);
            continue;
        }
        reverse(b.begin(),b.end());
        for (int i:b)
            a.push_back(i);
        b={i};
    }
    return (a.size()>b.size()?a:b);
}
#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...