# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
701789 | mychecksedad | Commuter Pass (JOI18_commuter_pass) | C++17 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/* Author : Mychecksdead */
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define MOD (1000000000+7)
#define MOD1 (998244353)
#define PI 3.1415926535
#define pb push_back
#define all(x) x.begin(), x.end()
const int N = 1e6+100, M = 1e5+10, K = 20;
int n, m, s, t, x, y;
ll d[N];
vector<array<ll, 3>> g[N];
vector<bool> vis;
vector<pair<int, int>> good;
void solve(){
cin >> n >> m >> s >> t >> x >> y;
for(int i = 0; i < m; ++i){
int u, v, w; cin >> u >> v >> w;
g[u].pb({v, w, i});
g[v].pb({u, w, i});
}
vis.resize(n + 1);
good.resize(m);
priority_queue<pair<ll, int>> q;
q.push({0, s});
for(int i = 1; i <= n; ++i) d[i] = i == s ? 0 : LONG_LONG_MAX;
while(!q.empty()){
int v = q.top().second; q.pop();
if(vis[v]) continue;
vis[v] = 1;
for(auto U: g[v]){
ll u = U[0], w = U[1];
if(!vis[u] && d[u] > d[v] + w){
d[u] = d[v] + w;
q.push({-d[u], u});
}
}
}
queue<int> Q;
Q.push(t);
fill(all(vis), 0);
vis[t] = 1;
while(!Q.empty()){
int v = Q.front(); Q.pop();
for(auto U: g[v]){
ll u = U[0], w = U[1];
if(d[u] == d[v] - w){
good[U[2]] = {v, u};
if(!vis[u]){
vis[u] = 1;
Q.push(u);
}
}
}
}
ll ans = LONG_LONG_MAX;
for(int rep = 0; rep < 2; ++rep){
for(int i = 1; i <= n; ++i) d[i] = LONG_LONG_MAX;
d[x] = 0;
q.push({0, x});
fill(all(vis), 0);
while(!q.empty()){
int v = q.top().second; q.pop();
if(vis[v]) continue;
vis[v] = 1;
for(auto U: g[v]){
ll u = U[0], w = U[1];
if(rep) swap(u, v);
if(good[U[2]].first == v && good[U[2]].second == u) w = 0;
if(rep) swap(u, v);
if(!vis[u] && d[u] > d[v] + w){
d[u] = d[v] + w;
q.push({-d[u], u});
}
}
}
ans = min(ans, d[y]);
}
cout << ans;
}
int main(){
cin.tie(0); ios::sync_with_stdio(0);
int T = 1, aa;
// cin >> T;aa=T;
while(T--){
// cout << "Case #" << aa-T << ": ";
solve();
cout << '\n';
}
return 0;
}
Compilation message (stderr)
commuter_pass.cpp: In function 'void solve()': commuter_pass.cpp:72:26: error: no matching function for call to 'swap(ll&, int&)' 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from commuter_pass.cpp:2: /usr/include/c++/10/sstream:849:5: note: candidate: 'template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>&)' 849 | swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, | ^~~~ /usr/include/c++/10/sstream:849:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from commuter_pass.cpp:2: /usr/include/c++/10/sstream:856:5: note: candidate: 'template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>&)' 856 | swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x, | ^~~~ /usr/include/c++/10/sstream:856:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from commuter_pass.cpp:2: /usr/include/c++/10/sstream:863:5: note: candidate: 'template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>&)' 863 | swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x, | ^~~~ /usr/include/c++/10/sstream:863:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from commuter_pass.cpp:2: /usr/include/c++/10/sstream:870:5: note: candidate: 'template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>&)' 870 | swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, | ^~~~ /usr/include/c++/10/sstream:870:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/regex:62, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110, from commuter_pass.cpp:2: /usr/include/c++/10/bits/regex.h:849:5: note: candidate: 'template<class _Ch_type, class _Rx_traits> void std::__cxx11::swap(std::__cxx11::basic_regex<_Ch_type, _Rx_traits>&, std::__cxx11::basic_regex<_Ch_type, _Rx_traits>&)' 849 | swap(basic_regex<_Ch_type, _Rx_traits>& __lhs, | ^~~~ /usr/include/c++/10/bits/regex.h:849:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::basic_regex<_Ch_type, _Rx_traits>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/regex:62, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110, from commuter_pass.cpp:2: /usr/include/c++/10/bits/regex.h:2141:5: note: candidate: 'template<class _Bi_iter, class _Alloc> void std::__cxx11::swap(std::__cxx11::match_results<_BiIter, _Alloc>&, std::__cxx11::match_results<_BiIter, _Alloc>&)' 2141 | swap(match_results<_Bi_iter, _Alloc>& __lhs, | ^~~~ /usr/include/c++/10/bits/regex.h:2141:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::match_results<_BiIter, _Alloc>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, 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 commuter_pass.cpp:2: /usr/include/c++/10/bits/move.h:189:5: note: candidate: 'template<class _Tp> std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&)' 189 | swap(_Tp& __a, _Tp& __b) | ^~~~ /usr/include/c++/10/bits/move.h:189:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: deduced conflicting types for parameter '_Tp' ('long long int' and 'int') 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, 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 commuter_pass.cpp:2: /usr/include/c++/10/bits/move.h:213:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> std::__enable_if_t<std::__is_swappable<_Tp>::value> std::swap(_Tp (&)[_Nm], _Tp (&)[_Nm])' 213 | swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) | ^~~~ /usr/include/c++/10/bits/move.h:213:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types '_Tp [_Nm]' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/bits/stl_algobase.h:64, 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 commuter_pass.cpp:2: /usr/include/c++/10/bits/stl_pair.h:533:5: note: candidate: 'template<class _T1, class _T2> typename std::enable_if<std::__and_<std::__is_swappable<_T1>, std::__is_swappable<_T2> >::value>::type std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&)' 533 | swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) | ^~~~ /usr/include/c++/10/bits/stl_pair.h:533:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::pair<_T1, _T2>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/bits/stl_algobase.h:64, 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 commuter_pass.cpp:2: /usr/include/c++/10/bits/stl_pair.h:541:5: note: candidate: 'template<class _T1, class _T2> typename std::enable_if<(! std::__and_<std::__is_swappable<_T1>, std::__is_swappable<_T2> >::value)>::type std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&)' (deleted) 541 | swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; | ^~~~ /usr/include/c++/10/bits/stl_pair.h:541:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::pair<_T1, _T2>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from commuter_pass.cpp:2: /usr/include/c++/10/bits/basic_string.h:6420:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> void std::swap(std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 6420 | swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~ /usr/include/c++/10/bits/basic_string.h:6420:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/tuple:39, from /usr/include/c++/10/functional:54, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/array:321:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> typename std::enable_if<typename std::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type std::swap(std::array<_Tp, _Nm>&, std::array<_Tp, _Nm>&)' 321 | swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) | ^~~~ /usr/include/c++/10/array:321:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::array<_Tp, _Nm>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/tuple:39, from /usr/include/c++/10/functional:54, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/array:329:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> typename std::enable_if<(! typename std::__array_traits<_Tp, _Nm>::_Is_swappable::value)>::type std::swap(std::array<_Tp, _Nm>&, std::array<_Tp, _Nm>&)' (deleted) 329 | swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete; | ^~~~ /usr/include/c++/10/array:329:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::array<_Tp, _Nm>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/functional:54, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/tuple:1629:5: note: candidate: 'template<class ... _Elements> typename std::enable_if<std::__and_<std::__is_swappable<_Elements>...>::value>::type std::swap(std::tuple<_Tps ...>&, std::tuple<_Tps ...>&)' 1629 | swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) | ^~~~ /usr/include/c++/10/tuple:1629:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::tuple<_Tps ...>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/functional:54, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/tuple:1637:5: note: candidate: 'template<class ... _Elements> typename std::enable_if<(! std::__and_<std::__is_swappable<_Elements>...>::value)>::type std::swap(std::tuple<_Tps ...>&, std::tuple<_Tps ...>&)' (deleted) 1637 | swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; | ^~~~ /usr/include/c++/10/tuple:1637:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::tuple<_Tps ...>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/functional:59, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/bits/std_function.h:720:5: note: candidate: 'template<class _Res, class ... _Args> void std::swap(std::function<_Res(_ArgTypes ...)>&, std::function<_Res(_ArgTypes ...)>&)' 720 | swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept | ^~~~ /usr/include/c++/10/bits/std_function.h:720:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::function<_Res(_ArgTypes ...)>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/bits/node_handle.h:39, from /usr/include/c++/10/bits/hashtable.h:37, from /usr/include/c++/10/unordered_map:46, from /usr/include/c++/10/functional:61, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/optional:1196:5: note: candidate: 'template<class _Tp> std::enable_if_t<(is_move_constructible_v<_Tp> && is_swappable_v<_Tp>)> std::swap(std::optional<_Tp>&, std::optional<_Tp>&)' 1196 | swap(optional<_Tp>& __lhs, optional<_Tp>& __rhs) | ^~~~ /usr/include/c++/10/optional:1196:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::optional<_Tp>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/bits/node_handle.h:39, from /usr/include/c++/10/bits/hashtable.h:37, from /usr/include/c++/10/unordered_map:46, from /usr/include/c++/10/functional:61, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/optional:1202:5: note: candidate: 'template<class _Tp> std::enable_if_t<(!(is_move_constructible_v<_Tp> && is_swappable_v<_Tp>))> std::swap(std::optional<_Tp>&, std::optional<_Tp>&)' (deleted) 1202 | swap(optional<_Tp>&, optional<_Tp>&) = delete; | ^~~~ /usr/include/c++/10/optional:1202:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::optional<_Tp>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/unordered_map:47, from /usr/include/c++/10/functional:61, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/bits/unordered_map.h:2076:5: note: candidate: 'template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> void std::swap(std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&)' 2076 | swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, | ^~~~ /usr/include/c++/10/bits/unordered_map.h:2076:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/unordered_map:47, from /usr/include/c++/10/functional:61, from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/10/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65, from commuter_pass.cpp:2: /usr/include/c++/10/bits/unordered_map.h:2083:5: note: candidate: 'template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> void std::swap(std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&)' 2083 | swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, | ^~~~ /usr/include/c++/10/bits/unordered_map.h:2083:5: note: template argument deduction/substitution failed: commuter_pass.cpp:72:26: note: mismatched types 'std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>' and 'll' {aka 'long long int'} 72 | if(rep) swap(u, v); | ^ In file included from /usr/include/c++/10/vector:67, from /usr/include/c++/10/functional:62, from /usr/include/c++/10/pstl/glue