제출 #408949

#제출 시각아이디문제언어결과실행 시간메모리
408949SirCovidThe19thCrocodile's Underground City (IOI11_crocodile)C++14
100 / 100
565 ms77060 KiB
#include <bits/stdc++.h>
using namespace std;
 
int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]){
    vector<vector<pair<int, int>>> adj(n);
    for (int i = 0; i < m; i++){
        adj[r[i][0]].push_back({l[i], r[i][1]});
        adj[r[i][1]].push_back({l[i], r[i][0]});
    }
    priority_queue<pair<long long, int>> trav;
    vector<int> visited(n, 0);
    for (int i = 0; i < k; i++){
        visited[p[i]] = 1;
        trav.push({0, p[i]});
    }
    while (!trav.empty()){
        pair<long long, int> curr = trav.top(); trav.pop();
        visited[curr.second]++;
        if (visited[curr.second] == 2 and curr.second == 0) 
            return -curr.first;
        if (visited[curr.second] == 2)
            for (pair<int, int> elem : adj[curr.second])
                if (visited[elem.second] != 2)
                    trav.push({curr.first-elem.first, elem.second});
    }
}

컴파일 시 표준 에러 (stderr) 메시지

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:5:41: warning: control reaches end of non-void function [-Wreturn-type]
    5 |     vector<vector<pair<int, int>>> adj(n);
      |                                         ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...