Submission #705141

# Submission time Handle Problem Language Result Execution time Memory
705141 2023-03-03T12:39:44 Z bebra Jakarta Skyscrapers (APIO15_skyscraper) C++17
10 / 100
1 ms 1028 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
 
#define dbg(x) cerr << #x << ": " << x << endl;
 
 
const int MAX_N = 30000 + 5;
const ll INF = 1e9;
vector<pair<int, int>> g[MAX_N];
ll dist[MAX_N];
bool used[MAX_N];
 
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
 
    int n, m;
    cin >> n >> m;
    int s, t;
    for (int i = 0; i < m; ++i) {
        int v, k;
        cin >> v >> k;
        if (i == 0) {
            s = v;
        }
        if (i == 1) {
            t = v;
        }
        for (int u = v + k; u < n; u += k) {
            g[v].emplace_back(u, (u - v) / k);
        }
        for (int u = v - k; u >= 0; u -= k) {
            g[v].emplace_back(u, (v - u) / k);
        }
    }
 
    fill_n(dist, n, INF);
    priority_queue<pair<ll, int>> pq;
    pq.emplace(0, s);
    while (!pq.empty()) {
        auto [curr_dist, v] = pq.top();
        pq.pop();
        if (used[v]) continue;

        used[v] = true;
        dist[v] = curr_dist;
 
        // if (dist[v] == INF) break;
        // if (v == t) break;
        
        for (const auto& [u, w] : g[v]) {
            pq.emplace(curr_dist + w, u);
        }
    }
 
    if (!used[t]) {
        cout << "-1\n";
    } else {
        cout << dist[t] << '\n';
    }
 
    return 0;
}
 
 
/*
5 3
0 2
1 1
4 1
*/

Compilation message

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:58:16: warning: 't' may be used uninitialized in this function [-Wmaybe-uninitialized]
   58 |     if (!used[t]) {
      |          ~~~~~~^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Incorrect 1 ms 980 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Incorrect 1 ms 980 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 1028 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Incorrect 1 ms 980 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Incorrect 1 ms 980 KB Output isn't correct
10 Halted 0 ms 0 KB -