Submission #717707

# Submission time Handle Problem Language Result Execution time Memory
717707 2023-04-02T11:09:46 Z hafo Crocodile's Underground City (IOI11_crocodile) C++14
89 / 100
565 ms 70460 KB
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define pb push_back
#define pa pair<int, int>
#define pall pair<ll, int>
#define fi first
#define se second
#define TASK "test"
#define all(x) x.begin(), x.end()
using namespace std;

template<typename T1, typename T2> bool mini (T1 &a, T2 b) {if(a > b) a = b; else return 0; return 1;}
template<typename T1, typename T2> bool maxi (T1 &a, T2 b) {if(a < b) a = b; else return 0; return 1;}

const int MOD = 1e9 + 7;
const int LOG = 20;
const int maxn = 2e5 + 7;
const ll oo = 1e17 + 69;

int n, m, r[maxn][2], l[maxn], k, p[maxn];
pair<ll, ll> f[maxn];
vector<pa> g[maxn];

int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]) {
    priority_queue<pall, vector<pall>, greater<pall>> q;
    fill_n(f, n, make_pair(oo, oo));
    for(int i = 0; i < k; i++) {
        f[p[i]] = {0, 0};
        q.push({0, p[i]});
    }

    for(int i = 0; i < m; i++) {
        int u = r[i][0], v = r[i][1];
        g[u].pb({v, l[i]});
        g[v].pb({u, l[i]});
    }

    while(!q.empty()) {
        int u = q.top().se;
        ll fu = q.top().fi;
        q.pop();

        if(fu != f[u].se) continue;
        for(auto e:g[u]) {
            int v = e.fi, w = e.se;
            if(f[v].fi > fu + w) {
                f[v].se = f[v].fi;
                q.push({f[v].se, v});
                f[v].fi = fu + w;
            } else if(f[v].se > fu + w) {
                f[v].se = fu + w;
                q.push({f[v].se, v});
            }
        }
    }
    return f[0].se;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Correct 4 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 5 ms 5076 KB Output is correct
5 Correct 5 ms 5076 KB Output is correct
6 Correct 3 ms 5016 KB Output is correct
7 Correct 5 ms 5076 KB Output is correct
8 Correct 4 ms 5076 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Correct 4 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 5 ms 5076 KB Output is correct
5 Correct 5 ms 5076 KB Output is correct
6 Correct 3 ms 5016 KB Output is correct
7 Correct 5 ms 5076 KB Output is correct
8 Correct 4 ms 5076 KB Output is correct
9 Correct 4 ms 5280 KB Output is correct
10 Correct 4 ms 4948 KB Output is correct
11 Correct 4 ms 5076 KB Output is correct
12 Correct 8 ms 5524 KB Output is correct
13 Correct 6 ms 5460 KB Output is correct
14 Correct 3 ms 4948 KB Output is correct
15 Correct 4 ms 5076 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Correct 4 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 5 ms 5076 KB Output is correct
5 Correct 5 ms 5076 KB Output is correct
6 Correct 3 ms 5016 KB Output is correct
7 Correct 5 ms 5076 KB Output is correct
8 Correct 4 ms 5076 KB Output is correct
9 Correct 4 ms 5280 KB Output is correct
10 Correct 4 ms 4948 KB Output is correct
11 Correct 4 ms 5076 KB Output is correct
12 Correct 8 ms 5524 KB Output is correct
13 Correct 6 ms 5460 KB Output is correct
14 Correct 3 ms 4948 KB Output is correct
15 Correct 4 ms 5076 KB Output is correct
16 Correct 498 ms 62908 KB Output is correct
17 Correct 90 ms 19036 KB Output is correct
18 Correct 149 ms 20432 KB Output is correct
19 Correct 565 ms 70460 KB Output is correct
20 Correct 281 ms 51780 KB Output is correct
21 Correct 39 ms 10824 KB Output is correct
22 Incorrect 269 ms 49104 KB Output isn't correct
23 Halted 0 ms 0 KB -