# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
140325 | XmtosX | Highway Tolls (IOI18_highway) | C++17 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "highway.h"
#include <bits/stdc++.h>
#include <unordered_map>
using namespace std;
const int MAXN=90005;
int n,m,par[MAXN];
vector <int> v[MAXN];
vector <pair<int,int> > vv;
unordered_map <pair<int,int>, int> r;
long long ANS;
void dfs (int x,int p,int l)
{
vv.push_back({l,x});
par[x]=p;
for (int i=0;i<v[x].size();i++)
{
if (v[x][i]!=p)
{
dfs(v[x][i],x,l+1);
}
}
}
void find_pair (int N, vector<int> U, vector<int> V, int A, int B)
{
n=N;
m=U.size();
vector<int> w;
w.resize(m);
ANS=ask(w);
for (int i=0;i<m;i++)
{
v[U[i]].push_back(V[i]);
v[V[i]].push_back(U[i]);
r[{U[i],V[i]}]=i;
r[{V[i],U[i]}]=i;
}
dfs(0,-1,1);
int low=0,high=vv.size(),mid,ans=-1;
while (low<=high)
{
for (int i=0;i<w.size();i++)
w[i]=0;
mid=(low+high)/2;
for (int i=mid;i<vv.size();i++)
{
int a=vv[i].second;
w[r[{a,par[a]}]]=1;
}
if (ask(w)!=ANS)
{
ans=vv[mid].second;
low=mid+1;
}
else
high=mid-1;
}
answer(0,ans);
}
Compilation message (stderr)
In file included from /usr/include/c++/7/bits/hashtable.h:35:0, from /usr/include/c++/7/unordered_map:47, from /usr/include/c++/7/functional:60, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71, from highway.cpp:2: /usr/include/c++/7/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > >': /usr/include/c++/7/type_traits:143:12: required from 'struct std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > >' /usr/include/c++/7/type_traits:154:31: required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' /usr/include/c++/7/bits/unordered_map.h:103:66: required from 'class std::unordered_map<std::pair<int, int>, int>' highway.cpp:9:36: required from here /usr/include/c++/7/bits/hashtable_policy.h:87:34: error: no match for call to '(const std::hash<std::pair<int, int> >) (const std::pair<int, int>&)' noexcept(declval<const _Hash&>()(declval<const _Key&>()))> ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/vector:60, from highway.h:3, from highway.cpp:1: /usr/include/c++/7/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >': /usr/include/c++/7/bits/unordered_map.h:103:66: required from 'class std::unordered_map<std::pair<int, int>, int>' highway.cpp:9:36: required from here /usr/include/c++/7/type_traits:154:31: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > >' : public __bool_constant<!bool(_Pp::value)> ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/unordered_map:48:0, from /usr/include/c++/7/functional:60, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71, from highway.cpp:2: /usr/include/c++/7/bits/unordered_map.h: In instantiation of 'class std::unordered_map<std::pair<int, int>, int>': highway.cpp:9:36: required from here /usr/include/c++/7/bits/unordered_map.h:103:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; ^~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:110:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::key_type key_type; ^~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:111:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::value_type value_type; ^~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:112:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::mapped_type mapped_type; ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:113:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::hasher hasher; ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:114:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::key_equal key_equal; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:115:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::allocator_type allocator_type; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:120:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::pointer pointer; ^~~~~~~ /usr/include/c++/7/bits/unordered_map.h:121:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_pointer const_pointer; ^~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:122:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::reference reference; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:123:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_reference const_reference; ^~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:124:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::iterator iterator; ^~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:125:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_iterator const_iterator; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:126:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::local_iterator local_iterator; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:127:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_local_iterator const_local_iterator; ^~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:128:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::size_type size_type; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:129:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::difference_type difference_type; ^~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:133:55: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' using node_type = typename _Hashtable::node_type; ^ /usr/include/c++/7/bits/unordered_map.h:134:73: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' using insert_return_type = typename _Hashtable::insert_return_type; ^ /usr/include/c++/7/bits/unordered_map.h:288:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' operator=(initializer_list<value_type> __l) ^~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:386:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' emplace(_Args&&... __args) ^~~~~~~ /usr/include/c++/7/bits/unordered_map.h:469:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' try_emplace(const key_type& __k, _Args&&... __args) ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:487:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' try_emplace(key_type&& __k, _Args&&... __args) ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:578:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(const value_type& __x) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:584:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(value_type&& __x) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:591:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(_Pair&& __x) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:657:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(initializer_list<value_type> __l) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:685:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert_or_assign(const key_type& __k, _Obj&& __obj) ^~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:703:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert_or_assign(key_type&& __k, _Obj&& __obj) ^~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:953:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' equal_range(const key_type& __x) ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:957:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' equal_range(const key_type& __x) const ^~~~~~~~~~~ highway.cpp: In function 'void dfs(int, int, int)': highway.cpp:15:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0;i<v[x].size();i++) ~^~~~~~~~~~~~ highway.cpp: In function 'void find_pair(int, std::vector<int>, std::vector<int>, int, int)': highway.cpp:34:10: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, int>, int>' and '<brace-enclosed initializer list>') r[{U[i],V[i]}]=i; ^ highway.cpp:35:10: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, int>, int>' and '<brace-enclosed initializer list>') r[{V[i],U[i]}]=i; ^ highway.cpp:41:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0;i<w.size();i++) ~^~~~~~~~~ highway.cpp:44:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=mid;i<vv.size();i++) ~^~~~~~~~~~ highway.cpp:47:16: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, int>, int>' and '<brace-enclosed initializer list>') w[r[{a,par[a]}]]=1; ^