제출 #48880

#제출 시각아이디문제언어결과실행 시간메모리
48880mrtsima22Evacuation plan (IZhO18_plan)C++17
0 / 100
57 ms7164 KiB
#include <bits/stdc++.h> using namespace std; #define lo long const int lmax=1999999999; const long long lmx=1999999999999999999; int n,m,q,Q,hoi; int a,b,c,k,N[100003]; int min_Dd[100004]; vector<pair<int,int> >v[100003]; void go(int a) { vector<int>min_distance(n,10000); min_distance[a]=0; set<pair<int,int> >active; active.insert({0,a}); while(active.size()) { int where=(*active.begin()).second; active.erase(active.begin()); for(int i=0;i<v[where].size();i++) { if(min_distance[v[where][i].first]>min_distance[where]+v[where][i].second) { active.erase({min_distance[v[where][i].first],v[where][i].second}); min_distance[v[where][i].first]=min_distance[where]+v[where][i].second; active.insert({min_distance[v[where][i].first],v[where][i].first}); } } } for(int i=0;i<=n;i++) min_Dd[i]=min_distance[i]; } int main(){std::ios::sync_with_stdio(false); cin>>n>>m; for(int i=0;i<n;i++) { cin>>a>>b>>c; v[a].push_back({b,c}); v[b].push_back({a,c}); } cin>>k; for(int i=0;i<k;i++) { cin>>N[i]; } for(int i=0;i<Q;i++) { cin>>a>>b; go(a); hoi=-lmax; for(int j=1;j<=n;j++) { hoi=max(hoi,min_Dd[j]); } go(b); for(int j=1;j<=n;j++) { hoi=max(hoi,min_Dd[j]); } cout<<hoi<<endl; } } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

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

plan.cpp: In function 'void go(int)':
plan.cpp:20:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<v[where].size();i++)
               ~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...