Submission #872060

#TimeUsernameProblemLanguageResultExecution timeMemory
872060vjudge1Factories (JOI14_factories)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "factories.h" using namespace std; typedef pair<int, int> pii; const int N = 500'000 + 7; vector<pii> adj[N]; int n; long long a[N], b[N]; bool x[N], y[N]; void dfs(int v, int p, ) { for (int u : adj[v]) if (u != p) dfs(u, v); ord.push_back(v); } void Init(int N, int A[], int B[], int D[]) { n = N; for (int i = 0; i < n - 1; i++) { adj[A[i]].push_back({B[i], D[i]}); adj[B[i]].push_back({A[i], D[i]}); } } void dfs(int v, int p) { if (x[v]) a[v] = 0; if (y[v]) b[v] = 0; for (auto [u, w] : adj[v]) { a[v] = min(a[v], a[u] + w); b[v] = min(b[v], b[u] + w); if (u != p) dfs(u, v); } } long long Query(int S, int X[], int T, int Y[]) { for (int i = 0; i < n; i++) x[i] = y[i] = false, a[i] = b[i] = 1e18; for (int i = 0; i < S; i++) x[X[i]] = true; for (int i = 0; i < T; i++) y[Y[i]] = true; dfs(0, 0); long long res = 1e18; for (int i = 0; i < n; i++) res = min(res, x[i] + y[i]); return res; }

Compilation message (stderr)

factories.cpp:14:24: error: expected identifier before ')' token
   14 | void dfs(int v, int p, ) {
      |                        ^
factories.cpp: In function 'void dfs(int, int, int)':
factories.cpp:15:23: error: cannot convert 'std::pair<int, int>' to 'int' in initialization
   15 |     for (int u : adj[v])
      |                       ^
factories.cpp:17:21: error: too few arguments to function 'void dfs(int, int, int)'
   17 |             dfs(u, v);
      |                     ^
factories.cpp:14:6: note: declared here
   14 | void dfs(int v, int p, ) {
      |      ^~~
factories.cpp:18:5: error: 'ord' was not declared in this scope
   18 |     ord.push_back(v);
      |     ^~~
factories.cpp: In function 'long long int Query(int, int*, int, int*)':
factories.cpp:55:35: error: no matching function for call to 'min(long long int&, int)'
   55 |         res = min(res, x[i] + y[i]);
      |                                   ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from factories.cpp:1:
/usr/include/c++/10/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++/10/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
factories.cpp:55:35: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   55 |         res = min(res, x[i] + y[i]);
      |                                   ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from factories.cpp:1:
/usr/include/c++/10/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++/10/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
factories.cpp:55:35: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   55 |         res = min(res, x[i] + y[i]);
      |                                   ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from factories.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3468:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3468 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3468:5: note:   template argument deduction/substitution failed:
factories.cpp:55:35: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   55 |         res = min(res, x[i] + y[i]);
      |                                   ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from factories.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3474:5: note:   template argument deduction/substitution failed:
factories.cpp:55:35: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   55 |         res = min(res, x[i] + y[i]);
      |                                   ^