Submission #1341992

#TimeUsernameProblemLanguageResultExecution timeMemory
1341992ttparin_Crocodile's Underground City (IOI11_crocodile)C++20
100 / 100
438 ms50964 KiB
#include "crocodile.h"
#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int>> v[100010];
priority_queue<pair<int,int>> pq;
int visited[100010];
int dp[100010];
int travel_plan(int n, int m, int r[][2], int l[], int k, int p[])
{
  for(int i=0;i<m;i++){
    v[r[i][0]].push_back({r[i][1],l[i]});
    v[r[i][1]].push_back({r[i][0],l[i]});
  }
  for(int i=0;i<k;i++){
    pq.push({0,p[i]});
  }
  while(pq.empty()==0){
    int w=-pq.top().first;
    int x=pq.top().second;
    pq.pop();
    if(visited[x]==2)
        continue;
    if(visited[x]==0&&w!=0){
        visited[x]=1;
        continue;
    }
    visited[x]=2;
    dp[x]=w;
    for(auto g:v[x]){
        if(visited[g.first]!=2){
            pq.push({-w-g.second,g.first});
        }
    }
  }
  return dp[0];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...