Submission #400789

# Submission time Handle Problem Language Result Execution time Memory
400789 2021-05-08T16:34:56 Z BERNARB01 Jakarta Skyscrapers (APIO15_skyscraper) C++17
0 / 100
2 ms 1612 KB
#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

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 time Memory Grader output
1 Incorrect 2 ms 1612 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1612 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1612 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1612 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1612 KB Output isn't correct
2 Halted 0 ms 0 KB -