Submission #339757

#TimeUsernameProblemLanguageResultExecution timeMemory
339757CSQ31Crocodile's Underground City (IOI11_crocodile)C++14
0 / 100
3 ms3564 KiB
#include "crocodile.h" #include<bits/stdc++.h> using namespace std; #define pb push_back #define fi first #define se second #define mp make_pair #define all(a) a.begin(),a.end() #define sz(a) (int)(a.size()) #define lb lower_bound #define ub upper_bound #define owo ios_base::sync_with_stdio(0);cin.tie(0); #define MOD (ll)(1e9+7) #define INF (ll)(1e18) #define debug(...) fprintf(stderr, __VA_ARGS__),fflush(stderr) #define time__(d) for(long blockTime = 0; (blockTime == 0 ? (blockTime=clock()) != 0 : false);\ debug("%s time : %.4fs\n", d, (double)(clock() - blockTime) / CLOCKS_PER_SEC)) typedef long long int ll; typedef long double ld; typedef pair<ll,ll> PII; typedef pair<int,int> pii; typedef vector<vector<int>> vii; typedef vector<vector<ll>> VII; ll gcd(ll A,ll B) {if(!B)return A;return gcd(B,A%B);} vector<vector<PII>> adj(100010); vector<ll>dist(100010,INF); int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { for(int i=0;i<M;i++){ adj[R[i][1]].pb({R[i][0],L[i]}); adj[R[i][0]].pb({R[i][1],L[i]}); } priority_queue<PII,vector<PII>,greater<PII>>pq; for(int i=0;i<K;i++){ pq.push({0,P[i]}); dist[P[i]] = 0; } vector<multiset<ll>>c(N); while(!pq.empty()){ int v = pq.top().se; ll d = pq.top().fi; pq.pop(); //if(d != dist[v])continue; //cout<<v<<" "<<d<<'\n'; for(auto x:adj[v]){ int to = x.fi; ll w = x.se; // cout<<to<<" "<<w<<'\n'; c[to].insert(dist[v]+w); if(sz(c[to]) > 1){ auto it = c[to].begin(); it++; if(*it < dist[to]){ dist[to] = *it; pq.push({dist[to],to}); } } } } return dist[0]; }

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:41:6: warning: unused variable 'd' [-Wunused-variable]
   41 |   ll d = pq.top().fi;
      |      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...