4482 2023. 03. 28 13:22:56 ZsofiaKeresztely Társaság (50) cpp14 Hibás válasz 7/50 17ms 4580 KiB
#include <bits/stdc++.h>
using namespace std;
#define pii pair<ll, ll>
#define fi first
#define se second
typedef long long ll;
vector<vector<pii> > g;

ll restarts(ll v, ll val, ll d){
    ll r = (d > val);
    d = d * (d <= val);
    for (pii x : g[v]){
        r += restarts(x.fi, val, d + x.se);
    }
    return r;
}

int main()
{
    ll n, k;
    cin >> n >> k;
    g.resize(n+1);
    for (ll i=2; i<=n; i++){
        ll a, b;
        cin >> a >> b;
        g[a].push_back({i, b});
    }
    ll l = -1, r = 1e13;
    while (l + 1 < r){
        ll m = (l + r) / 2;
        if (restarts(1, m, 0) > k){
            l = m;
        }
        else{
            r = m;
        }
    }
    cout << r;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 7/50
1 Hibás válasz 0/0 3ms 1876 KiB
2 Hibás válasz 0/0 8ms 2620 KiB
3 Hibás válasz 0/3 3ms 2488 KiB
4 Hibás válasz 0/3 3ms 2560 KiB
5 Elfogadva 3/3 3ms 2752 KiB
6 Hibás válasz 0/3 3ms 2988 KiB
7 Hibás válasz 0/3 3ms 3264 KiB
8 Hibás válasz 0/3 4ms 3260 KiB
9 Hibás válasz 0/3 4ms 3316 KiB
10 Hibás válasz 0/3 6ms 3620 KiB
11 Hibás válasz 0/3 7ms 3756 KiB
12 Hibás válasz 0/3 8ms 3844 KiB
13 Hibás válasz 0/4 9ms 3836 KiB
14 Hibás válasz 0/4 12ms 3992 KiB
15 Hibás válasz 0/4 13ms 4276 KiB
16 Elfogadva 4/4 14ms 4524 KiB
17 Hibás válasz 0/4 17ms 4580 KiB