제출 #71475

#제출 시각아이디문제언어결과실행 시간메모리
71475RezwanArefin01악어의 지하 도시 (IOI11_crocodile)C++17
100 / 100
1375 ms104656 KiB
#include <bits/stdc++.h>
#include "crocodile.h"
using namespace std;

typedef long long ll; 
typedef pair<ll, int> ii; 

const int N = 1e5 + 10; 
vector<int> adj[N], cost[N]; 
int vis[N];

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) {
    for(int i = 0; i < M; i++) {
        int u = R[i][0], v = R[i][1], c = L[i]; 
        adj[u].push_back(v);
        adj[v].push_back(u);
        cost[u].push_back(c);
        cost[v].push_back(c); 
    }
    priority_queue<ii, vector<ii>, greater<ii> > Q;  
    for(int i = 0; i < K; i++) {
        int u = P[i]; 
        vis[u] = 1; 
        Q.emplace(0, u); 
    }
    while(!Q.empty()) {
        ii x = Q.top(); Q.pop(); 
        int u = x.second; ll D = x.first; 
        vis[u]++; 
        if(vis[u] != 2) continue; 
        if(!u) return D; 
        for(int i = 0; i < adj[u].size(); i++)
           Q.emplace(D + cost[u][i], adj[u][i]);  
    }
}

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

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:32:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < adj[u].size(); i++)
                        ~~^~~~~~~~~~~~~~~
crocodile.cpp:35:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...