제출 #375356

#제출 시각아이디문제언어결과실행 시간메모리
375356wind_reaperJakarta Skyscrapers (APIO15_skyscraper)C++17
36 / 100
1086 ms188524 KiB
#include <bits/stdc++.h> using namespace std; const int INF = 1e9; int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; // vector<vector<array<int, 2>>> adj(n); vector<set<array<int, 2>>> adj(n); int src, dest; for(int i = 0; i < m; i++){ int b, p; cin >> b >> p; if(i == 0) src = b; if(i == 1) dest = b; for(int j = b+p; j < n; j += p) adj[b].insert({j, (j-b)/p}); for(int j = b-p; j >= 0; j -= p) adj[b].insert({j, (b-j)/p}); } vector<int> dist(n, INF); dist[src] = 0; priority_queue<array<int, 2>, vector<array<int, 2>>, greater<array<int, 2>>> pq; pq.push({0, src}); while(!pq.empty()){ auto [d, node] = pq.top(); pq.pop(); for(auto& [v, nd] : adj[node]){ if(dist[v] <= dist[node] + nd) continue; dist[v] = dist[node] + nd; pq.push({dist[v], v}); } } cout << (dist[dest] == INF ? -1 : dist[dest]) << '\n'; return 0; }

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

skyscraper.cpp: In function 'int32_t main()':
skyscraper.cpp:43:20: warning: 'dest' may be used uninitialized in this function [-Wmaybe-uninitialized]
   43 |  cout << (dist[dest] == INF ? -1 : dist[dest]) << '\n';
      |                    ^
skyscraper.cpp:29:10: warning: 'src' may be used uninitialized in this function [-Wmaybe-uninitialized]
   29 |  dist[src] = 0;
      |          ^
#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...