제출 #319914

#제출 시각아이디문제언어결과실행 시간메모리
319914knon0501Crocodile's Underground City (IOI11_crocodile)C++14
100 / 100
1040 ms64840 KiB
#include "crocodile.h"
#include <bits/stdc++.h>
using namespace std;

int n;
vector<pair<int,int>> a[100001];
int b[100001];
int bb[100001];
int chk[100001];
int visit[100001];
int deg[100001];

int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
    n=N;
    int i,j;

    for(i=0 ; i<M ; i++){
        int u=R[i][0];
        int v=R[i][1];
        a[u].push_back({v,L[i]});
        a[v].push_back({u,L[i]});
    }

    priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> Q;

    for(i=0 ; i<K ; i++){
        Q.push({0,P[i]});
    }

    while(!Q.empty()){
        int v=Q.top().second;
        long long w=Q.top().first;
        Q.pop();

        if(visit[v])continue;
        visit[v]=1;
        for(auto k: a[v]){
            deg[k.first]++;
            long long d=w+k.second;
            if(d<=b[k.first] || deg[k.first]==1 ){
                bb[k.first]=b[k.first];
                b[k.first]=d;
            }
            else if(d<=bb[k.first] || deg[k.first]==2)
                bb[k.first]=d;
            if(deg[k.first]>=2)
            Q.push({bb[k.first],k.first});
        }
    }
    return bb[0];
}


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

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:16:11: warning: unused variable 'j' [-Wunused-variable]
   16 |     int i,j;
      |           ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...