제출 #479725

#제출 시각아이디문제언어결과실행 시간메모리
479725Yuisuyuno악어의 지하 도시 (IOI11_crocodile)C++14
0 / 100
2 ms2672 KiB
//Nguyen Huu Hoang Minh #include <bits/stdc++.h> //#include "crocodile.h" #define sz(x) int(x.size()) #define all(x) x.begin(),x.end() #define reset(x) memset(x, 0,sizeof(x)) #define pb push_back #define mp make_pair #define fi first #define se second #define remain(x) if (x > MOD) x -= MOD #define ii pair<int, int> #define iiii pair< ii , ii > #define viiii vector< iiii > #define vi vector<int> #define vii vector< ii > #define bit(x, i) (((x) >> (i)) & 1) #define Task "test" using namespace std; typedef long double ld; const int inf = 1e10; const int minf = -1e10; vector<ii> g[100005]; bool is[100005]; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { for(int i=0; i<M; i++){ int u = R[i][0]; int v = R[i][1]; int z = L[i]; g[u].push_back(ii(v,z)); g[v].push_back(ii(u,z)); } vector<vector<int>> d(N+1,vector<int>(3,0)); priority_queue<ii, vii, greater<ii>> q; vector<bool> vst(N+1,false); for(int i=0; i<K; i++) q.push(ii(0,P[i])), d[P[i]][0]=0; while (q.size()){ int u = q.top().se; int du = q.top().fi; q.pop(); if (vst[u]) continue; vst[u] = 1; for(auto i : g[u]){ int v = i.fi; int uv = du + i.se; if (vst[v]) continue; int &a = d[v][0]; int &b = d[v][1]; int s = b; if (!a || a > du) b = a, a = du; else if (!b || b > du) b = du; if (b!=s) q.push(ii(b,v)); } } return d[0][1]; }

컴파일 시 표준 에러 (stderr) 메시지

crocodile.cpp:23:17: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+10' to '2147483647' [-Woverflow]
   23 | const int inf = 1e10;
      |                 ^~~~
crocodile.cpp:24:18: warning: overflow in conversion from 'double' to 'int' changes value from '-1.0e+10' to '-2147483648' [-Woverflow]
   24 | const int minf = -1e10;
      |                  ^~~~~
crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:50:17: warning: unused variable 'uv' [-Wunused-variable]
   50 |             int uv = du + i.se;
      |                 ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...