Submission #1219265

#TimeUsernameProblemLanguageResultExecution timeMemory
1219265marizaLongest Trip (IOI23_longesttrip)C++17
25 / 100
349 ms1108 KiB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

vector<int> longest_trip(int n, int D){
    vector<ll> g[n];
    bool adj[n][n]={};
    for(ll i=0; i<n; i++){
        for(ll j=i+1; j<n; j++){
            if(are_connected({(int)i},{(int)j})){
                g[i].push_back(j);
                g[j].push_back(i);
                adj[i][j]=1;
                adj[j][i]=1;
            }
        }
    }

    for(ll i=0; i<n; i++){
        if(g[i].size()+1<=n/2){
            // cout<<"! "<<i<<endl;
            vector<int> ans;
            for(ll j=0; j<n; j++){
                if(i!=j && !adj[i][j]) ans.push_back(j);
            }
            return ans;
        }
    }

    vector<int> ans;
    ans.push_back(0);
    bool vis[n]={};
    while(ans.size()<(n+1)/2){
        ll curr=ans.back();
        vis[curr]=1;
        for(auto nxt:g[curr]){
            if(!vis[nxt]){
                ans.push_back(nxt);
                break;
            }
        }
    }
    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...