Submission #271905

# Submission time Handle Problem Language Result Execution time Memory
271905 2020-08-18T07:58:07 Z TMJN Traffic (IOI10_traffic) C++17
Compilation error
0 ms 0 KB
#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

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};
      |              ^~~