Submission #1295944

#TimeUsernameProblemLanguageResultExecution timeMemory
1295944hssaan_arifCrocodile's Underground City (IOI11_crocodile)C++20
89 / 100
2059 ms156864 KiB
// #include "crocodile.h" // #include <bits/stdc++.h> #include<iostream> #include<vector> #include<queue> #include<map> #include <chrono> using namespace std; #define endl "\n" #define pb push_back // #define int long long #define ll long long #define fi first #define se second const int N = 1e5 + 5, M = 1e9 + 7, LG = 20; // int n , A[N] ,m ,k, u , v , l , R[N][2] , L[N] , P[N]; vector<ll> lis[N]; int travel_plan(int n, int m, int R[][2], int L[], int k, int P[]) { int fin = 0; ll vi[n] = {} , Dis[N] = {}; map<pair<ll,ll> , ll> mp , cn; for (int i=0 ; i<n ; i++){ Dis[i] = 1e18; } clock_t st = clock(), en; for (int i=0 ; i<m ; i++){ int u = R[i][0] , v = R[i][1]; lis[u].pb(v); lis[v].pb(u); mp[{u,v}] = mp[{v,u}] = L[i]; en = clock(); long double k = (en - st) / double(CLOCKS_PER_SEC); if (k >= 1.9) cout<<1 / 0; } priority_queue<pair<ll,ll> , vector<pair<ll,ll>> , greater<pair<ll,ll>>> pq; for (int i=0 ; i<k ; i++){ Dis[P[i]] = 0; pq.push({0 , P[i]}); // cn[P[i]] = 2; vi[P[i]] = 1; } while(pq.size() && Dis[0] == 1e18){ int v = pq.top().se , sr = pq.top().fi ; pq.pop(); // fin++; en = clock(); long double k = (en - st) / double(CLOCKS_PER_SEC); if (k >= 1.9) cout<<1 / 0; if (vi[v] != 1){ vi[v]++; continue; }else{ Dis[v] = sr; vi[v]++; for (int u : lis[v]){ if (cn[{Dis[v] + mp[{v,u}] , u}]>=2 || vi[u]>=2 || Dis[u]!=1e18) continue; cn[{Dis[v] + mp[{v,u}] , u}]++; pq.push({Dis[v] + mp[{v,u}] , u}); } } } // cout << Dis[0] << endl; return Dis[0]; } // int main(){ // cin >> n >> m >> k; // for (int i=0 ; i<m ; i++){ // cin >> u >> v >> l; // R[i][0] = u; // R[i][1] = v; // L[i] = l; // } // for (int i=0 ; i<k ; i++){ // cin >> l; // P[i] = l; // } // cout << travel_plan(n , m , R , L , k , P); // }

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:42:21: warning: division by zero [-Wdiv-by-zero]
   42 |             cout<<1 / 0;
      |                   ~~^~~
crocodile.cpp:59:21: warning: division by zero [-Wdiv-by-zero]
   59 |             cout<<1 / 0;
      |                   ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...