Submission #400789

#TimeUsernameProblemLanguageResultExecution timeMemory
400789BERNARB01Jakarta Skyscrapers (APIO15_skyscraper)C++17
0 / 100
2 ms1612 KiB
#include <bits/stdc++.h> using namespace std; const int N = 3e4; const long long inf = (long long) 8e18L; map<int, long long> g[N]; int main() { ios::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; int target, start; for (int i = 0; i < m; i++) { int b, p; cin >> b >> p; if (i == 0) { start = b; } if (i == 1) { target = b; } for (int j = b + p, w = 1; j < n; j += p, w++) { auto it = g[b].find(j); if (it == g[b].end()) { g[b][j] = w; } else { g[b][j] = min(g[b][j], 1LL * w); } } for (int j = b - p, w = 1; j >= 0; j -= p, w++) { auto it = g[b].find(j); if (it == g[b].end()) { g[b][j] = w; } else { g[b][j] = min(g[b][j], 1LL * w); } } } vector<long long> dist(n, inf); priority_queue<pair<long long, int>> s; dist[start] = 0; s.emplace(0, start); while (!s.empty()) { long long exp = -s.top().first; int u = s.top().second; s.pop(); if (exp != dist[u]) { continue; } for (int v = 0; v < n; v++) { if (dist[u] + g[u][v] < dist[v]) { dist[v] = dist[u] + g[u][v]; s.emplace(-dist[v], v); } } } cout << (dist[target] >= inf ? -1 : dist[target]) << '\n'; return 0; }

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:43:12: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
   43 |  dist[start] = 0;
      |            ^
skyscraper.cpp:59:22: warning: 'target' may be used uninitialized in this function [-Wmaybe-uninitialized]
   59 |  cout << (dist[target] >= inf ? -1 : dist[target]) << '\n';
      |                      ^
#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...