Submission #1212575

#TimeUsernameProblemLanguageResultExecution timeMemory
1212575AvianshLongest Trip (IOI23_longesttrip)C++20
15 / 100
3 ms408 KiB
#include "longesttrip.h"

#include <bits/stdc++.h>

using namespace std;

vector<int> longest_trip(int n, int D) {
    if(D==3){
        vector<int>ans(n);
        iota(ans.begin(),ans.end(),0);
        return ans;
    }
    if(D==2){
        set<int>lef;
        for(int i = 0;i<n;i++){
            lef.insert(i);
        }
        vector<int>ans;
        ans.push_back(0);
        lef.erase(0);
        while(lef.size()>1){
            if(are_connected({ans.back()},{*lef.begin()})){
                ans.push_back(*lef.begin());
                lef.erase(lef.begin());
            }
            else{
                ans.push_back(*(++lef.begin()));
                lef.erase(++lef.begin());
            }
        }
        if(are_connected({*lef.begin()},{ans.back()})){
            ans.push_back(*lef.begin());
            return ans;
        }
        ans.insert(ans.begin(),*lef.begin());
        return ans;
    }
    assert(0);
    return {};
}
#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...