Submission #848899

#TimeUsernameProblemLanguageResultExecution timeMemory
848899emad234Longest Trip (IOI23_longesttrip)C++17
5 / 100
7 ms600 KiB
#include <bits/stdc++.h>
#define all(v) ((v).begin(),(v).end())
#define ll long long
#define F first
#define S second
const ll mod = 1e9 + 7;
const ll mxN = 2e5 + 1;
using namespace std;
bool are_connected(vector<int> A, vector<int> B);
vector<int> longest_trip(int N, int D)
{
  vector<int>v = {0},v1;
  queue<int>q;
  for(int i = 1;i < N;i++)q.push(i);
  while(q.size()){
    int u = q.front();
    q.pop();
    if(v.size() && are_connected({v[v.size() - 1]},{u})) v.push_back(u);
    else if(v1.size() && are_connected({v1[v1.size() - 1]},{u})) v1.push_back(u);
    else{
      for(auto x : v1) v.push_back(x);
      v1.clear();
      v1.push_back(u);
    }
  }
  if(v.size() > v1.size()) return v;
  else return v1;
}
#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...