Submission #846644

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
8466442023-09-08 08:11:51ttamxLongest Trip (IOI23_longesttrip)C++17
100 / 100
10 ms860 KiB
#include "longesttrip.h"
#include<bits/stdc++.h>
using namespace std;
int bsearch(vector<int> vec,vector<int> fixed){
int l=0,r=vec.size()-1;
while(l<r){
int m=(l+r)/2;
vector<int> res;
for(int i=l;i<=m;i++)res.emplace_back(vec[i]);
if(are_connected(res,fixed))r=m;
else l=m+1;
}
return l;
}
vector<int> longest_trip(int N, int D){
vector<int> path[2];
for(int i=0;i<2;i++)path[i].emplace_back(i);
bool ok=true;
for(int i=2;i<N;i++){
if(are_connected({i},{path[0].back()})){
path[0].emplace_back(i);
ok=true;
continue;
}
if(!ok||are_connected({i},{path[1].back()})){
path[1].emplace_back(i);
ok=false;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:67:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |     for(int i=0;i<path[0].size();i++)ans.emplace_back(path[0][(id0+i+1)%path[0].size()]);
      |                 ~^~~~~~~~~~~~~~~
longesttrip.cpp:68:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |     for(int i=0;i<path[1].size();i++)ans.emplace_back(path[1][(id1+i)%path[1].size()]);
      |                 ~^~~~~~~~~~~~~~~
#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...