Submission #1312891

#TimeUsernameProblemLanguageResultExecution timeMemory
1312891Jawad_Akbar_JJLongest Trip (IOI23_longesttrip)C++20
5 / 100
4 ms412 KiB
#include <iostream> #include <vector> #include "longesttrip.h" using namespace std; int get(vector<int> A, vector<int> B){ int l = -1, r = A.size() - 1; while (l + 1 < r){ int m = (l + r) / 2; vector<int> v; v.insert(v.end(), A.begin(), A.begin() + m + 1); if (v.size() == 0){ cout<<l<<" "<<r<<" "<<m<<" "<<A.size()<<endl; cout<<1 / 0; } if (are_connected(v, B)) r = m; else l = m; } return r; } vector<int> longest_trip(int n, int D){ vector<int> A = {0}, B, v; for (int i=1;i<n;i++){ if (are_connected({A[0]}, {i})) A.push_back(i); else B.push_back(i); if (A.size() < B.size()) swap(A, B); } if (B.size() == 0 or are_connected(A, B) == 0) return A; int l1 = get(A, B), l2 = get(B, {A[l1]}); if (l2 == 0) swap(A, B), swap(l1, l2); if (l1){ for (int i=1;i<=l1;i++) A.push_back(A[0]), A.erase(begin(A)); for (int i=1;i<=l2;i++) B.push_back(B[0]), B.erase(begin(B)); } else if (are_connected({A[0]}, {B.back()})){ B.insert(B.begin(), B.back()); B.pop_back(); } else{ for (int i=1;i<=l2;i++) B.push_back(B[0]), B.erase(begin(B)); } for (int i : B) A.insert(A.begin(), i); return A; }

Compilation message (stderr)

longesttrip.cpp: In function 'int get(std::vector<int>, std::vector<int>)':
longesttrip.cpp:15:33: warning: division by zero [-Wdiv-by-zero]
   15 |                         cout<<1 / 0;
      |                               ~~^~~
#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...