Submission #893097

#TimeUsernameProblemLanguageResultExecution timeMemory
893097raul2008487Dreaming (IOI13_dreaming)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "dreaming.h" #define ll long long #define pll pair<ll,ll> #define vl vector<ll> #define fi first #define se second #define in insert #define all(v) v.begin(),v.end() const int sz = 100005; const ll inf = 1000000000000000; using namespace std; vector<pair<ll,ll>> adj[sz]; ll dis[sz][2], center, v1, v2, mx, cnt = -1; bool used[sz]; vector<vector<ll>> path; void trav(ll node){ used[node] = 1; path[cnt].push_back(node); for(pll edge: adj[node]){ if(!used[edge.fi]){ trav(edge.fi); } } } void dfs(ll node, ll we, ll p){ if(we > mx){ v2 = node; mx = we; } for(pll edge: adj[node]){ if(edge.fi != p){ dfs(edge.fi, we + edge.se, node); } } } void caldis(ll node, ll we, ll p, ll type){ dis[node][type] = we; for(pll edge: adj[node]){ if(edge.fi != p){ caldis(edge.fi, we + edge.se, node, type); } } } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { ll n = N, m = M, i, j, ans = 0; for(i=1;i<=m;i++){ adj[A[i]].push_back({B[i], T[i]}); adj[B[i]].push_back({A[i], T[i]}); } for(i=0;i<n;i++){ if(!used[i]){ cnt++; path.push_back(vl(0)); trav(i); } } ll worst = inf; vl st; for(i=0;i<=cnt;i++){ mx = -1, v1 = -1, v2 = -1; dfs(path[i][0], 0, -1); v1 = v2; mx = -1; dfs(v1, 0, -1); caldis(v1, 0, -1, 0);caldis(v2, 0, -1, 1); ans = max(ans, mx); ll pc = path[i][0], pb = max(dis[pc][0], dis[pc][1]); for(auto x: path[i]){ if(max(dis[x][0], dis[x][1]) < pb){ pb = max(dis[x][0], dis[x][1]); } } st.push_back(pb); //ans = max(ans, pb); } sort(all(pb)); if(st.size() == 1){ return ans; } else if(st.size() == 2){ return max(ans, v[v.size() - 1] + v[v.size() - 2] + L); } return max({ans, v[v.size() - 1] + v[v.size() - 2] + L, v[v.size()-2] + v[v.size() - 3] + 2*L}); }

Compilation message (stderr)

dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:77:14: error: 'pb' was not declared in this scope
   77 |     sort(all(pb));
      |              ^~
dreaming.cpp:9:16: note: in definition of macro 'all'
    9 | #define all(v) v.begin(),v.end()
      |                ^
dreaming.cpp:82:25: error: 'v' was not declared in this scope
   82 |         return max(ans, v[v.size() - 1] + v[v.size() - 2] + L);
      |                         ^
dreaming.cpp:84:22: error: 'v' was not declared in this scope
   84 |     return max({ans, v[v.size() - 1] + v[v.size() - 2] + L, v[v.size()-2] + v[v.size() - 3] + 2*L});
      |                      ^
dreaming.cpp:84:99: error: no matching function for call to 'max(<brace-enclosed initializer list>)'
   84 |     return max({ans, v[v.size() - 1] + v[v.size() - 2] + L, v[v.size()-2] + v[v.size() - 3] + 2*L});
      |                                                                                                   ^
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 dreaming.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
dreaming.cpp:84:99: note:   candidate expects 2 arguments, 1 provided
   84 |     return max({ans, v[v.size() - 1] + v[v.size() - 2] + L, v[v.size()-2] + v[v.size() - 3] + 2*L});
      |                                                                                                   ^
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 dreaming.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: '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++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
dreaming.cpp:84:99: note:   candidate expects 3 arguments, 1 provided
   84 |     return max({ans, v[v.size() - 1] + v[v.size() - 2] + L, v[v.size()-2] + v[v.size() - 3] + 2*L});
      |                                                                                                   ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from dreaming.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
dreaming.cpp:46:25: warning: unused variable 'j' [-Wunused-variable]
   46 |     ll n = N, m = M, i, j, ans = 0;
      |                         ^
dreaming.cpp:58:8: warning: unused variable 'worst' [-Wunused-variable]
   58 |     ll worst = inf;
      |        ^~~~~