| Task: | Wide delivery |
| Sender: | aalto26fm_031 |
| Submission time: | 2026-10-05 17:49:58 +0300 |
| Language: | C++ (C++23) |
| Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'int main(int, char**)':
input/code.cpp:37:28: error: no matching function for call to 'begin(std::pair<int, int>&)'
37 | for (auto u : adj[a]) {
| ^
In file included from /usr/include/c++/13/bits/range_access.h:36,
from /usr/include/c++/13/string:53,
from /usr/include/c++/13/bits/locale_classes.h:40,
from /usr/include/c++/13/bits/ios_base.h:41,
from /usr/include/c++/13/ios:44,
from /usr/include/c++/13/ostream:40,
from /usr/include/c++/13/iostream:41,
from input/code.cpp:1:
/usr/include/c++/13/initializer_list:88:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::begin(initializer_list<_Tp>)'
88 | begin(initializer_list<_Tp> __ils) noexcept
| ^~~~~
/usr/include/c++/13/initializer_list:88:5: note: template argument deduction/substitution failed:
input/code.cpp:37:2...Code
#include <iostream>
#include <vector>
#include <climits>
#include <queue>
int main(int argc, char **argv) {
int n, m;
std::cin >> n >> m;
std::vector<std::pair<int, int>> adj;
std::vector<int> distance(n+1, INT_MAX);
std::priority_queue<std::pair<int, int>> q;
std::vector<bool> processed(n+1, false);
for (int i=0; i<m; i++) {
int s, e, w;
std::cin >> s >> e >> w;
adj[s] = {e, w};
adj[e] = {s, w};
}
distance[1] = 0;
q.push({1, 0});
while (!q.empty()) {
int a = q.top().second;
q.pop();
if (processed[a]) continue;
processed[a] = true;
for (auto u : adj[a]) {
int b = u.first(), w = u.second();
if (distance[a]+w < distance[b]) {
distance[b] = distance[a] + w;
q.push({-distance[b], b});
}
}
}
for (int i=2; i<=n; i++) {
std::cout << distance[i] << " ";
}
std::cout << std::endl;
return 0;
}