Submission #846913

# Submission time Handle Problem Language Result Execution time Memory
846913 2023-09-08T16:11:42 Z manhlinh1501 Jakarta Skyscrapers (APIO15_skyscraper) C++17
10 / 100
177 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;

void update(int u, int v, int w, int cur) {
    if(v > n)
        return;

    if(v < 0)
        return;

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

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; j < N; j++)
            adj[u].eb(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]) {
            update(u, u + v, w, cur);
            update(u, u - v, w, 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 2 ms 2388 KB Output is correct
2 Correct 1 ms 2004 KB Output is correct
3 Correct 2 ms 2512 KB Output is correct
4 Correct 2 ms 2388 KB Output is correct
5 Correct 2 ms 2388 KB Output is correct
6 Correct 2 ms 2388 KB Output is correct
7 Correct 2 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2388 KB Output is correct
2 Correct 2 ms 2000 KB Output is correct
3 Correct 2 ms 2512 KB Output is correct
4 Correct 2 ms 2388 KB Output is correct
5 Correct 2 ms 2388 KB Output is correct
6 Correct 2 ms 2392 KB Output is correct
7 Correct 2 ms 2388 KB Output is correct
8 Correct 8 ms 8264 KB Output is correct
9 Correct 21 ms 18728 KB Output is correct
10 Correct 177 ms 172784 KB Output is correct
11 Runtime error 170 ms 262144 KB Execution killed with signal 9
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2388 KB Output is correct
2 Correct 2 ms 2000 KB Output is correct
3 Correct 2 ms 2512 KB Output is correct
4 Correct 2 ms 2388 KB Output is correct
5 Correct 2 ms 2388 KB Output is correct
6 Correct 2 ms 2388 KB Output is correct
7 Correct 2 ms 2392 KB Output is correct
8 Correct 11 ms 8264 KB Output is correct
9 Correct 21 ms 18728 KB Output is correct
10 Correct 166 ms 174852 KB Output is correct
11 Runtime error 166 ms 262144 KB Execution killed with signal 9
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2388 KB Output is correct
2 Correct 1 ms 2000 KB Output is correct
3 Correct 2 ms 2512 KB Output is correct
4 Correct 2 ms 2388 KB Output is correct
5 Correct 2 ms 2388 KB Output is correct
6 Correct 2 ms 2388 KB Output is correct
7 Correct 2 ms 2392 KB Output is correct
8 Correct 9 ms 8264 KB Output is correct
9 Correct 22 ms 18728 KB Output is correct
10 Correct 165 ms 179208 KB Output is correct
11 Runtime error 160 ms 262144 KB Execution killed with signal 9
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2388 KB Output is correct
2 Correct 2 ms 2000 KB Output is correct
3 Correct 2 ms 2516 KB Output is correct
4 Correct 2 ms 2392 KB Output is correct
5 Correct 3 ms 2388 KB Output is correct
6 Correct 2 ms 2388 KB Output is correct
7 Correct 2 ms 2388 KB Output is correct
8 Correct 11 ms 8264 KB Output is correct
9 Correct 21 ms 18728 KB Output is correct
10 Correct 166 ms 170232 KB Output is correct
11 Runtime error 160 ms 262144 KB Execution killed with signal 9
12 Halted 0 ms 0 KB -