제출 #969725

#제출 시각아이디문제언어결과실행 시간메모리
969725momo50Cities (BOI16_cities)C++14
100 / 100
3198 ms75772 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; ll dist[100007][1<<6]; bool vis[100007][1<<6]; vector<pair<int,ll>> g[100007]; priority_queue<pair<ll,int>,vector<pair<ll,int>>,greater<pair<ll,int>>> pq; int main() { cin.tie(nullptr)->ios::sync_with_stdio(false); int n,k,m,a; cin>>n>>k>>m; for(int i=1;i<=n;i++) for(int j=0;j<(1<<k);j++) dist[i][j]=1e17+7; for(int i=0;i<k;i++) { int a; cin>>a; dist[a][1<<i]=0; } for(int i=0;i<m;i++) { int u,v,w; cin>>u>>v>>w; g[u].emplace_back(v,w); g[v].emplace_back(u,w); } for(int mask=1;mask<(1<<k);mask++) { for(int i=0;i<k;i++) { int thisM=1<<i; if(!(thisM&mask))continue; int Nothis=(mask^thisM); for(int j=1;j<=n;j++) dist[j][mask]=min(dist[j][mask],dist[j][thisM]+dist[j][Nothis]); } for(int i=1;i<=n;i++) { pq.emplace(dist[i][mask],i); } while(!pq.empty()) { int u,v,w; u=pq.top().second; pq.pop(); for(auto& [v,w]:g[u]) { if(dist[v][mask]>dist[u][mask]+w) { dist[v][mask]=dist[u][mask]+w; pq.emplace(dist[v][mask],v); } } } } ll ans=LLONG_MAX; for(int i=1;i<=n;i++) { ans=min(ans,dist[i][(1<<k)-1]); } cout<<ans; return 0; }

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

cities.cpp: In function 'int main()':
cities.cpp:53:23: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   53 |             for(auto& [v,w]:g[u])
      |                       ^
cities.cpp:50:19: warning: unused variable 'v' [-Wunused-variable]
   50 |             int u,v,w;
      |                   ^
cities.cpp:50:21: warning: unused variable 'w' [-Wunused-variable]
   50 |             int u,v,w;
      |                     ^
cities.cpp:13:15: warning: unused variable 'a' [-Wunused-variable]
   13 |     int n,k,m,a;
      |               ^
#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...