Submission #839976

#TimeUsernameProblemLanguageResultExecution timeMemory
839976angelo_torresLongest Trip (IOI23_longesttrip)C++17
15 / 100
972 ms328 KiB
#include "longesttrip.h"
#define sz(v) (int) v.size()
#define ff first
#define ss second

using namespace std;
typedef pair<int,int> ii;

vector<int> longest_trip(int N, int D)
{
    vector<ii> ed;
    vector<bool> d(N);
    for(int i = 0; i < N; ++i){
        for(int j = i+1; j < N; ++j){
            if(!are_connected({i},{j})){
                ed.push_back({i,j});
                d[i] = 1, d[j] = 1;
            }
        }
    }
    vector<int> ans;
    if(ed.empty()){
        for(int i = 0; i < N; ++i) ans.push_back(i);
        return ans;
    }
    if(sz(ed) == 1){
        if(N == 2)
            return {0};
        ans.push_back(ed[0].ff);
        for(int i = 0; i < N; ++i) if(!d[i]) ans.push_back(i);
        ans.push_back(ed[0].ss);
        return ans;
    }
    for(int i = 0; i < sz(ed); ++i){
        ans.push_back(ed[i].ff);
    }
    for(int i = 0; i < sz(ed); ++i){
        ans.push_back(ed[i].ss);
    }
    for(int i = 0; i < N; ++i) if(!d[i]) ans.push_back(i);
    return ans;
}
#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...