Submission #319914

#TimeUsernameProblemLanguageResultExecution timeMemory
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]; }

Compilation message (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...