Submission #1138542

#TimeUsernameProblemLanguageResultExecution timeMemory
1138542mnbvcxz123Treasure Hunt (CCO24_day1problem1)C++20
25 / 25
2272 ms118184 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)continue;
        ans[x]=c;
        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...