Submission #998115

# Submission time Handle Problem Language Result Execution time Memory
998115 2024-06-13T10:02:11 Z Muhammet Dreaming (IOI13_dreaming) C++17
18 / 100
157 ms 37200 KB
#include <bits/stdc++.h>
#include "dreaming.h"
using namespace std;

#define N 200005
#define ff first
#define sz(s) (int)s.size()
#define ss second
#define ll long long

vector <pair<ll,ll>> v[N];

vector <ll> p[N], v1;

map <ll,bool> vis, vi;

ll mn, f[N];

ll dfs(ll x){
    vis[x] = 1;
    for(auto i : v[x]){
        if(vis[i.ff] == 0){
            p[x].push_back(dfs(i.ff) + i.ss);
        }
    }
    p[x].push_back(0);
    sort(p[x].begin(), p[x].end());
    return p[x].back();
}

void df(ll x){
    vi[x] = 1;
    mn = min(mn,max(p[x].back(),f[x]));
    for(auto i : v[x]){
        if(vi[i.ff] == 0){
            ll y = p[x].back();
            if(y == p[i.ff].back() + i.ss) y = p[x][sz(p[x]) - 2];
            f[i.ff] = (max(y,f[x]) + i.ss);
            df(i.ff);
        }
    }
    return;
}

int travelTime(int n, int m, int l, int a[], int b[], int t[]) {
    for(int i = 0; i < m; i++){
        v[a[i]].push_back({b[i],t[i]});
        v[b[i]].push_back({a[i],t[i]});
    }
    for(int i = 0; i < n; i++){
        if(vis[i] == 0){
            dfs(i);
            mn = 1e9;
            df(i);
            v1.push_back(mn);
        }
    }

    sort(v1.begin(), v1.end());

    ll k = v1[sz(v1) - 1];
    if(sz(v1) >= 2) k = max(k,v1[sz(v1) - 1] + l + v1[sz(v1) - 2]);
    if(sz(v1) >= 3) k = max(k, v1[sz(v1) - 3] + l*2 + v1[sz(v1) - 2]);

    return k;
}
# Verdict Execution time Memory Grader output
1 Incorrect 157 ms 37200 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 12380 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 157 ms 37200 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 75 ms 29364 KB Output is correct
2 Correct 78 ms 29532 KB Output is correct
3 Correct 94 ms 29536 KB Output is correct
4 Correct 73 ms 29564 KB Output is correct
5 Correct 75 ms 29388 KB Output is correct
6 Correct 80 ms 30828 KB Output is correct
7 Correct 78 ms 30408 KB Output is correct
8 Correct 75 ms 29104 KB Output is correct
9 Correct 70 ms 29132 KB Output is correct
10 Correct 81 ms 30056 KB Output is correct
11 Correct 2 ms 12376 KB Output is correct
12 Correct 35 ms 28792 KB Output is correct
13 Correct 37 ms 28608 KB Output is correct
14 Correct 36 ms 28624 KB Output is correct
15 Correct 36 ms 28612 KB Output is correct
16 Correct 33 ms 28676 KB Output is correct
17 Correct 35 ms 28620 KB Output is correct
18 Correct 35 ms 28876 KB Output is correct
19 Correct 33 ms 28616 KB Output is correct
20 Correct 2 ms 10332 KB Output is correct
21 Correct 2 ms 10332 KB Output is correct
22 Correct 4 ms 12892 KB Output is correct
23 Correct 35 ms 28808 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 12380 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 157 ms 37200 KB Output isn't correct
2 Halted 0 ms 0 KB -