Submission #846906

# Submission time Handle Problem Language Result Execution time Memory
846906 2023-09-08T15:59:46 Z manhlinh1501 Jakarta Skyscrapers (APIO15_skyscraper) C++17
36 / 100
123 ms 262144 KB
#include <bits/stdc++.h>
using namespace std;

using pii = pair<int, int>;

const int N = 3e4 + 5;
const int oo = 1e9;
const int SQRT = 175;

#define eb emplace_back

struct node {
    int w, u, s;

    node() {
        w = u = s = 0;
    }

    node(int w, int u, int s) : w(w), u(u), s(s) {}

    friend bool operator > (node a, node b) {
        return a.w > b.w;
    }
};

struct _data {
    int to, w, cur;
    _data() {
        to = w = cur = 0;
    }

    _data(int to, int w, int cur) : to(to), w(w), cur(cur) {}
};

int n, m;
int dist[N];
pii a[N];
vector<_data> adj[N];
priority_queue<node, vector<node>, greater<node>> Q;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> m;

    for(int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;

        for(int j = 1; u + j * v <= n; j++)
            adj[u].eb(u + j * v, j, v);

        for(int j = 1; u - j * v >= 0; j++)
            adj[u].eb(u - j * v, j, v);

        a[i] = {u, v};
    }

    for(int i = 0; i < n; i++)
        dist[i] = oo;

    dist[a[0].first] = 0;
    Q.emplace(0, a[0].first, a[0].second);

    while(!Q.empty()) {
        node top = Q.top();
        Q.pop();
        int u = top.u;

        if(top.w != dist[u])
            continue;

        for(auto [v, w, cur] : adj[u]) {
            if(dist[v] > dist[u] + w) {
                dist[v] = dist[u] + w;
                Q.emplace(dist[v], v, cur);
            }
        }
    }

    cout << (dist[a[1].first] == oo ? -1 : dist[a[1].first]);
}
/*
5 3
0 2
1 1
4 1
*/
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1112 KB Output is correct
3 Correct 1 ms 1112 KB Output is correct
4 Correct 1 ms 1112 KB Output is correct
5 Correct 1 ms 1112 KB Output is correct
6 Correct 1 ms 1112 KB Output is correct
7 Correct 1 ms 1112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1112 KB Output is correct
3 Correct 1 ms 1116 KB Output is correct
4 Correct 1 ms 1116 KB Output is correct
5 Correct 1 ms 1112 KB Output is correct
6 Correct 1 ms 1112 KB Output is correct
7 Correct 1 ms 1112 KB Output is correct
8 Correct 1 ms 1112 KB Output is correct
9 Correct 1 ms 1112 KB Output is correct
10 Correct 1 ms 1116 KB Output is correct
11 Correct 1 ms 1112 KB Output is correct
12 Correct 3 ms 4816 KB Output is correct
13 Correct 4 ms 4308 KB Output is correct
14 Correct 1 ms 1112 KB Output is correct
15 Correct 1 ms 1112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1112 KB Output is correct
3 Correct 1 ms 1112 KB Output is correct
4 Correct 1 ms 1112 KB Output is correct
5 Correct 1 ms 1112 KB Output is correct
6 Correct 1 ms 1112 KB Output is correct
7 Correct 1 ms 1112 KB Output is correct
8 Correct 1 ms 1112 KB Output is correct
9 Correct 1 ms 1112 KB Output is correct
10 Correct 1 ms 1112 KB Output is correct
11 Correct 1 ms 1112 KB Output is correct
12 Correct 3 ms 4300 KB Output is correct
13 Correct 3 ms 4308 KB Output is correct
14 Correct 1 ms 1116 KB Output is correct
15 Correct 1 ms 1112 KB Output is correct
16 Correct 1 ms 1112 KB Output is correct
17 Correct 2 ms 1368 KB Output is correct
18 Correct 1 ms 1368 KB Output is correct
19 Correct 1 ms 1116 KB Output is correct
20 Correct 37 ms 49240 KB Output is correct
21 Correct 1 ms 1112 KB Output is correct
22 Correct 1 ms 1112 KB Output is correct
23 Correct 1 ms 1112 KB Output is correct
24 Correct 2 ms 1368 KB Output is correct
25 Correct 1 ms 1368 KB Output is correct
26 Correct 36 ms 52696 KB Output is correct
27 Correct 29 ms 51952 KB Output is correct
28 Correct 1 ms 1368 KB Output is correct
29 Correct 2 ms 2392 KB Output is correct
30 Correct 1 ms 1624 KB Output is correct
31 Correct 2 ms 1880 KB Output is correct
32 Correct 1 ms 1624 KB Output is correct
33 Correct 3 ms 3416 KB Output is correct
34 Correct 3 ms 3404 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1116 KB Output is correct
3 Correct 1 ms 1112 KB Output is correct
4 Correct 1 ms 1112 KB Output is correct
5 Correct 1 ms 1112 KB Output is correct
6 Correct 1 ms 1112 KB Output is correct
7 Correct 1 ms 1112 KB Output is correct
8 Correct 1 ms 1112 KB Output is correct
9 Correct 1 ms 1112 KB Output is correct
10 Correct 1 ms 1112 KB Output is correct
11 Correct 1 ms 1112 KB Output is correct
12 Correct 3 ms 4304 KB Output is correct
13 Correct 3 ms 4308 KB Output is correct
14 Correct 1 ms 1112 KB Output is correct
15 Correct 1 ms 1112 KB Output is correct
16 Correct 1 ms 1112 KB Output is correct
17 Correct 1 ms 1368 KB Output is correct
18 Correct 1 ms 1112 KB Output is correct
19 Correct 1 ms 1116 KB Output is correct
20 Correct 36 ms 49236 KB Output is correct
21 Correct 1 ms 1112 KB Output is correct
22 Correct 1 ms 1116 KB Output is correct
23 Correct 1 ms 1116 KB Output is correct
24 Correct 2 ms 1368 KB Output is correct
25 Correct 2 ms 1368 KB Output is correct
26 Correct 31 ms 52140 KB Output is correct
27 Correct 29 ms 52204 KB Output is correct
28 Correct 2 ms 1368 KB Output is correct
29 Correct 2 ms 2396 KB Output is correct
30 Correct 1 ms 1628 KB Output is correct
31 Correct 2 ms 1880 KB Output is correct
32 Correct 1 ms 1624 KB Output is correct
33 Correct 3 ms 3160 KB Output is correct
34 Correct 3 ms 3400 KB Output is correct
35 Correct 6 ms 3672 KB Output is correct
36 Correct 2 ms 1368 KB Output is correct
37 Correct 7 ms 6232 KB Output is correct
38 Correct 8 ms 5208 KB Output is correct
39 Correct 8 ms 5464 KB Output is correct
40 Correct 9 ms 5208 KB Output is correct
41 Correct 7 ms 5208 KB Output is correct
42 Runtime error 123 ms 262144 KB Execution killed with signal 9
43 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1112 KB Output is correct
2 Correct 1 ms 1112 KB Output is correct
3 Correct 1 ms 1112 KB Output is correct
4 Correct 1 ms 1112 KB Output is correct
5 Correct 1 ms 1112 KB Output is correct
6 Correct 1 ms 1112 KB Output is correct
7 Correct 1 ms 1112 KB Output is correct
8 Correct 1 ms 1112 KB Output is correct
9 Correct 1 ms 1368 KB Output is correct
10 Correct 1 ms 1112 KB Output is correct
11 Correct 1 ms 1116 KB Output is correct
12 Correct 4 ms 4300 KB Output is correct
13 Correct 4 ms 4308 KB Output is correct
14 Correct 1 ms 1112 KB Output is correct
15 Correct 1 ms 1112 KB Output is correct
16 Correct 1 ms 1112 KB Output is correct
17 Correct 2 ms 1368 KB Output is correct
18 Correct 1 ms 1112 KB Output is correct
19 Correct 1 ms 1112 KB Output is correct
20 Correct 36 ms 49232 KB Output is correct
21 Correct 1 ms 1112 KB Output is correct
22 Correct 1 ms 1116 KB Output is correct
23 Correct 1 ms 1112 KB Output is correct
24 Correct 2 ms 1368 KB Output is correct
25 Correct 1 ms 1368 KB Output is correct
26 Correct 29 ms 51416 KB Output is correct
27 Correct 28 ms 51180 KB Output is correct
28 Correct 1 ms 1368 KB Output is correct
29 Correct 2 ms 2392 KB Output is correct
30 Correct 1 ms 1624 KB Output is correct
31 Correct 1 ms 1880 KB Output is correct
32 Correct 1 ms 1624 KB Output is correct
33 Correct 3 ms 3160 KB Output is correct
34 Correct 3 ms 3164 KB Output is correct
35 Correct 6 ms 3672 KB Output is correct
36 Correct 2 ms 1372 KB Output is correct
37 Correct 7 ms 6072 KB Output is correct
38 Correct 8 ms 5208 KB Output is correct
39 Correct 8 ms 5464 KB Output is correct
40 Correct 8 ms 5208 KB Output is correct
41 Correct 8 ms 4952 KB Output is correct
42 Runtime error 122 ms 262144 KB Execution killed with signal 9
43 Halted 0 ms 0 KB -