Submission #1135122

#TimeUsernameProblemLanguageResultExecution timeMemory
1135122Saul0906Thousands Islands (IOI22_islands)C++20
Compilation error
0 ms0 KiB
#include "islands.h" #include <bits/stdc++.h> #define rep(a,b,c) for(ll a=b; a<c; a++) #define repr(a,b,c) for(ll a=b-1; a>c-1; a--) #define repa(a,b) for(auto a:b) #define ll long long #define pll pair<ll, ll> #define pii pair<int, int> #define fi first #define se second #define pb push_back #define mid ((l+r)>>1) #define ppb pop_back() using namespace std; using vi = vector<int>; template<typename T> using vec = vector<T>; const int N=2e5+5; vec<pii> adj[N]; bool vis[N]; bool solve(int u, int p){ vis[u]=true; if(adj[u].size()>=6) return true; repa(v,adj[u]) if(!vis[v.fi]) if(solve(v.fi,u)) return true; return false; } std::variant<bool, std::vector<int>> find_journey( int N, int M, std::vector<int> U, std::vector<int> V) { vi a, b, ans; if(N==2){ rep(i,0,M){ if(U[i]==0) a.pb(i); else b.pb(i); } if(a.size()<2 || b.size()<1) return false; ans={a[0],b[0],a[1],a[0],b[0],a[1]}; return ans; } rep(i,0,N) adj[i].clear(); rep(i,0,M) adj[U[i]].pb({V[i],i}); rep(i,0,M) adj[V[i]].pb({U[i],i}); if(N<=2) return false; int c[4]={-1,-1,-1,-1}; rep(i,0,M){ if(U[i]==0 && V[i]==1) c[0]=(i); if(U[i]==1 && V[i]==0) c[1]=(i); if(U[i]==0 && V[i]==2) c[2]=(i); if(U[i]==2 && V[i]==0) c[3]=(i); } ans={c[0],c[1],c[2],c[3],c[1],c[0],c[3],c[2]}; if(min(c[0],c[1],c[2],c[3])!=-1)return ans; if(adj[0].size()>=4) return true; if(solve(0,-1)) return true; return false; }

Compilation message (stderr)

islands.cpp: In function 'std::variant<bool, std::vector<int, std::allocator<int> > > find_journey(int, int, std::vector<int>, std::vector<int>)':
islands.cpp:55:15: error: no matching function for call to 'min(int&, int&, int&, int&)'
   55 |         if(min(c[0],c[1],c[2],c[3])!=-1)return ans;
      |            ~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:60,
                 from islands.h:2,
                 from islands.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
islands.cpp:55:15: note:   candidate expects 2 arguments, 4 provided
   55 |         if(min(c[0],c[1],c[2],c[3])!=-1)return ans;
      |            ~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:60,
                 from islands.h:2,
                 from islands.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
islands.cpp:55:15: note:   candidate expects 3 arguments, 4 provided
   55 |         if(min(c[0],c[1],c[2],c[3])!=-1)return ans;
      |            ~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:62,
                 from islands.h:2,
                 from islands.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3449:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3449 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3449:5: note:   template argument deduction/substitution failed:
islands.cpp:55:15: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   55 |         if(min(c[0],c[1],c[2],c[3])!=-1)return ans;
      |            ~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:62,
                 from islands.h:2,
                 from islands.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3455:5: note:   template argument deduction/substitution failed:
islands.cpp:55:15: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   55 |         if(min(c[0],c[1],c[2],c[3])!=-1)return ans;
      |            ~~~^~~~~~~~~~~~~~~~~~~~~