Submission #1207292

#TimeUsernameProblemLanguageResultExecution timeMemory
1207292chambiTraffic (IOI10_traffic)C++20
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; const int max= 1000005; vector<int>conexiones[max]; vector<int>fanaticos; vector<long long>s_fanaticos; int N; long long t_fanaticos=0; int mejor_ciudad=-1; void calcular(int ciudad, int padre){ suma_fanaticos[ciudad]=fanaticos[ciudad]; for(int vecino:conexiones[ciudad]){ if(vecino==padre){ continue; } calcular(vecino, ciudad); s_fanaticos[ciudad]+=s_fanaticos[vecino]; } } void centro(int ciudad, int padre){ bool es_centro=true; for(int vecino:conexiones[ciudad]){ if(vecino==padre){ continue; } if(s_fanaticos[vecino]>t_fanaticos/2){ es_centro=false; centro(vecino, ciudad); return; } long long fuera= t_fanaticos-s_fanaticos[ciudad]; if(fuera>t_fanaticos/2){ es_centro=false; centro(vecino, ciudad); return; } if(centro){ mejor_ciudad=ciudad; } } } int LocateCenter(int n, vector<int>&P, vector<int>&S, vector<int>&D){ N=n; fanaticos=P; s_fanaticos.assign(N, 0); t_fanaticos=0; mejor_ciudad=-1; for(int i=0; i<N-1; i++){ conexiones[S[i]].push_back(D[i]); conexiones[D[i]].push_back(S[i]); } for(int f:P){ t_fanaticos+=f; } calcular(0, -1); centro(0, -1); return mejor_ciudad; }

Compilation message (stderr)

traffic.cpp:6:23: error: reference to 'max' is ambiguous
    6 | vector<int>conexiones[max];
      |                       ^~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from traffic.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidates are: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: note:                 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3461 |     max(initializer_list<_Tp> __l)
      |     ^~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from traffic.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note:                 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:254:5: note:                 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
traffic.cpp:5:11: note:                 'const int max'
    5 | const int max= 1000005;
      |           ^~~
traffic.cpp: In function 'void calcular(int, int)':
traffic.cpp:13:5: error: 'suma_fanaticos' was not declared in this scope; did you mean 's_fanaticos'?
   13 |     suma_fanaticos[ciudad]=fanaticos[ciudad];
      |     ^~~~~~~~~~~~~~
      |     s_fanaticos
traffic.cpp:14:20: error: 'conexiones' was not declared in this scope
   14 |     for(int vecino:conexiones[ciudad]){
      |                    ^~~~~~~~~~
traffic.cpp: In function 'void centro(int, int)':
traffic.cpp:24:20: error: 'conexiones' was not declared in this scope
   24 |     for(int vecino:conexiones[ciudad]){
      |                    ^~~~~~~~~~
traffic.cpp: In function 'int LocateCenter(int, std::vector<int>&, std::vector<int>&, std::vector<int>&)':
traffic.cpp:51:9: error: 'conexiones' was not declared in this scope
   51 |         conexiones[S[i]].push_back(D[i]);
      |         ^~~~~~~~~~