제출 #1295958

#제출 시각아이디문제언어결과실행 시간메모리
1295958hssaan_arif악어의 지하 도시 (IOI11_crocodile)C++20
89 / 100
2053 ms153380 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 = 1e6 + 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>> 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 k1 = (en - st) / double(CLOCKS_PER_SEC); if (k1 >= 1.5) 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}); } } } // for (int i=0 ; i<n ; i++){ // cout << Dis[i] << ' '; // } // 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); // }

컴파일 시 표준 에러 (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:62:21: warning: division by zero [-Wdiv-by-zero]
   62 |             cout<<1 / 0;
      |                   ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...