답안 #44242

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
44242 2018-03-30T20:20:30 Z Nnandi 관광 (NOI14_sightseeing) C++14
15 / 25
3500 ms 190416 KB
#include <bits/stdc++.h>
#define PB push_back
using namespace std;

struct El {
    int to, w;
    El(int cel, int suly) {
        w=suly;
        to=cel;
    }
    El() { }
    const bool operator< (El masik) const {
        return w<masik.w;
    }
};

const int maxn=500005;

vector<El> graf[maxn];
int d[maxn];
bool volte[maxn];


int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n, m, q;
    cin>>n>>m>>q;
    for(int i=0;i<m;i++) {
        int u, v, w;
        cin>>u>>v>>w;
        u--; v--;
        graf[u].PB(El(v,w));
        graf[v].PB(El(u,w));
    }
    El kezdo(0,INT_MAX);
    priority_queue<El> kovi;
    kovi.push(kezdo);
    while(!kovi.empty()) {
        El akt=kovi.top();
        kovi.pop();
        if(!volte[akt.to]) {
            volte[akt.to]=true;
            d[akt.to]=akt.w;
            for(El s:graf[akt.to]) {
                if(!volte[s.to]) {
                    s.w=min(s.w,akt.w);
                    kovi.push(s);
                }
            }
        }
    }
    vector<int> sol;
    for(int i=0;i<q;i++) {
        int z;
        cin>>z;
        z--;
        sol.push_back(d[z]);
    }
    for(int d:sol) {
        cout<<d<<endl;
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 11 ms 12280 KB Output is correct
2 Correct 10 ms 12280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 12772 KB Output is correct
2 Correct 11 ms 12772 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 61 ms 15752 KB Output is correct
2 Correct 55 ms 16092 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3536 ms 190416 KB Time limit exceeded
2 Halted 0 ms 0 KB -