제출 #751284

#제출 시각아이디문제언어결과실행 시간메모리
751284coding_snorlax사이버랜드 (APIO23_cyberland)C++17
0 / 100
36 ms7788 KiB
#include<bits/stdc++.h>
//#include "cyberland.h"
using namespace std;
using ll = long long int;
vector<pair<ll,ll>> G[100002];
set<pair<ll,ll>> now_node;
ll dis[100002];
int vis[100002]={0};
double solve(int N,int M,int K,int H, vector<int> x,vector<int> y,vector<int> c,vector<int> arr){
    int n=N,m=M;
    for(int i=0;i<=n;i++){
        vis[i]=0;
        dis[i]=100000000000000;
        G[i].clear();
    }
    for(int i=0;i<m;i++){
        G[x[i]].push_back(make_pair(c[i],y[i]));
        G[y[i]].push_back(make_pair(c[i],x[i]));
    }
    dis[0]=0;
    vis[0]=1;
    for(auto i:G[0]){
        dis[i.second]=dis[0]+i.first;
        now_node.insert(i);
    }
    dis[0]=0;
    while((int)now_node.size()){
        auto it = *now_node.begin();
        if(!vis[it.second]){
            vis[it.second]=1;
            for(auto now:G[it.second]){
                if(dis[now.second]>dis[it.second]+now.first){
                    dis[now.second]=dis[it.second]+now.first;
                    now_node.insert(make_pair(dis[now.second],now.second));
                }
            }
        }
        now_node.erase(it);
    }
    cout << dis[H];
    return (double)dis[H];
}
/*
int main(){
    int T;
    cin>>T;
    for(int s=0;s<T;s++){
        int N,M,K,H;
        cin>>N>>M>>K>>H;
        vector<int> x,y,c,arr;
        for(int i=0;i<N;i++){
            int tmp;
            cin>>tmp;
            arr.push_back(tmp);
        }

        for(int i=0;i<M;i++){
            int tmp1,tmp2,tmp3;
            cin>>tmp1>>tmp2>>tmp3;
            x.push_back(tmp1);
            y.push_back(tmp2);
            c.push_back(tmp3);
        }
        cout << solve(N,M,K,H,x,y,c,arr) << "\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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...