Submission #1138546

#TimeUsernameProblemLanguageResultExecution timeMemory
1138546mnbvcxz123Treasure Hunt (CCO24_day1problem1)C++20
25 / 25
2335 ms118136 KiB
#include<bits/stdc++.h> using namespace std; using ll=long long; using pi=pair<ll,ll>; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n,m; cin>>n>>m; vector<int>a(n); for(int&i:a)cin>>i; vector<vector<pi>>g(n); while(m--){ int a,b,c; cin>>a>>b>>c; --a,--b; g[a].push_back({b,c}); g[b].push_back({a,c}); } priority_queue<pi>q; for(int i=0;i<n;++i) q.push({a[i],i}); vector<int>ans(n,-1); while(!q.empty()){ int x=q.top().second; int c=q.top().first; q.pop(); if(ans[x]==-1)ans[x]=c; else if(ans[x]!=-1 and c>ans[x])ans[x]=c; else continue; for(const auto&[i,w]:g[x]) q.push({c-w,i}); } for(int i=0;i<n;++i) cout<<ans[i]<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...