Submission #271905

#TimeUsernameProblemLanguageResultExecution timeMemory
271905TMJNTraffic (IOI10_traffic)C++17
Compilation error
0 ms0 KiB
#include "traffic.h" #include <bits/stdc++.h> using namespace std; vector<int>v[1000000]; long long c[1000000],m[1000000]; void dfs(int x,int from){ for(int i:v){ if(i==from)continue; dfs(i,x); c[x]+=c[i]; } } int LocateCentre(int N, int pp[], int S[], int D[]) { for(int i=0;i<N-1;i++){ v[S[i]].push_back(v[D[i]]); v[D[i]].push_back(v[S[i]]); } for(int i=0;i<N;i++){ c[i]=pp[i]; } dfs(0,0); for(int i=0;i<N-1;i++){ m[S[i]]=max(m[S[i]],abs(c[S[i]]-c[D[i]])); m[D[i]]=max(m[D[i]],abs(c[S[i]]-c[D[i]])); } pair<ll,int>res={0xE869120E869120,-1}; for(int i=0;i<N;i++){ res=min(res,{m[i],i}); } return res.second; }

Compilation message (stderr)

traffic.cpp: In function 'void dfs(int, int)':
traffic.cpp:9:12: error: cannot convert 'std::vector<int>' to 'int' in initialization
    9 |  for(int i:v){
      |            ^
traffic.cpp: In function 'int LocateCentre(int, int*, int*, int*)':
traffic.cpp:18:28: error: no matching function for call to 'std::vector<int>::push_back(std::vector<int>&)'
   18 |   v[S[i]].push_back(v[D[i]]);
      |                            ^
In file included from /usr/include/c++/9/vector:67,
                 from /usr/include/c++/9/functional:62,
                 from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/9/algorithm:71,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from traffic.cpp:2:
/usr/include/c++/9/bits/stl_vector.h:1184:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1184 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/9/bits/stl_vector.h:1184:35: note:   no known conversion for argument 1 from 'std::vector<int>' to 'const value_type&' {aka 'const int&'}
 1184 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/9/bits/stl_vector.h:1200:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1200 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/9/bits/stl_vector.h:1200:30: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::vector<int>::value_type&&' {aka 'int&&'}
 1200 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
traffic.cpp:19:28: error: no matching function for call to 'std::vector<int>::push_back(std::vector<int>&)'
   19 |   v[D[i]].push_back(v[S[i]]);
      |                            ^
In file included from /usr/include/c++/9/vector:67,
                 from /usr/include/c++/9/functional:62,
                 from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/9/algorithm:71,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from traffic.cpp:2:
/usr/include/c++/9/bits/stl_vector.h:1184:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1184 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/9/bits/stl_vector.h:1184:35: note:   no known conversion for argument 1 from 'std::vector<int>' to 'const value_type&' {aka 'const int&'}
 1184 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/9/bits/stl_vector.h:1200:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1200 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/9/bits/stl_vector.h:1200:30: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::vector<int>::value_type&&' {aka 'int&&'}
 1200 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
traffic.cpp:29:7: error: 'll' was not declared in this scope
   29 |  pair<ll,int>res={0xE869120E869120,-1};
      |       ^~
traffic.cpp:29:13: error: template argument 1 is invalid
   29 |  pair<ll,int>res={0xE869120E869120,-1};
      |             ^
traffic.cpp:29:14: error: scalar object 'res' requires one element in initializer
   29 |  pair<ll,int>res={0xE869120E869120,-1};
      |              ^~~