Submission #1007257

#TimeUsernameProblemLanguageResultExecution timeMemory
1007257edogawa_something가장 긴 여행 (IOI23_longesttrip)C++17
70 / 100
34 ms600 KiB
#include "longesttrip.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<ll> vii; typedef pair<ll,ll> pii; #define pb push_back #define F first #define S second #define all(v) v.begin(),v.end() const int M=1010; const ll inf=1e18; void cyclic_shift(vector<int> &v){ vector<int> vv; for(int i=1;i<v.size();i++) vv.pb(v[i]); vv.pb(v.front()); swap(vv,v); } bool cc(int x,int y){ return are_connected({x},{y}); } std::vector<int> longest_trip(int N, int D) { vector<int>v1,v2; for(int i=0;i<N;i++){ if(v1.empty()){ v1.pb(i); continue; } if(are_connected({i},{v1.back()})){ v1.pb(i); continue; } if(v2.empty()){ v2.pb(i); continue; } if(are_connected({i},{v2.back()})){ v2.pb(i); continue; } reverse(all(v2)); for(auto it:v2) v1.pb(it); v2.clear(); v2.pb(i); } if(v2.empty()||!are_connected(v1,v2)){ if(v1.size()>v2.size()) swap(v1,v2); return v2; } while(!are_connected({v1.back()},v2)&&!are_connected({v1.front()},v2)) cyclic_shift(v1); while(!are_connected({v1.front()},{v2.front()})&&!are_connected({v1.back()},{v2.back()})&&!are_connected({v1.front()},{v2.back()})&&!are_connected({v1.back()},{v2.front()})) cyclic_shift(v2); if(cc(v1.back(),v2.back())) reverse(all(v2)); if(cc(v1.front(),v2.front())) reverse(all(v1)); if(cc(v1.front(),v2.back())) swap(v1,v2); for(auto it:v2) v1.pb(it); return v1; }

Compilation message (stderr)

longesttrip.cpp: In function 'void cyclic_shift(std::vector<int>&)':
longesttrip.cpp:16:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i=1;i<v.size();i++)
      |                 ~^~~~~~~~~
#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...