190492025-11-18 21:58:38RRoliTársaság (50)cpp17Time limit exceeded 0/50500ms856 KiB
#include <bits/stdc++.h>
using namespace std;

int n, k;
vector<int> len, apa;
vector<vector<int>> gyerek;

int futtat(int t) {
    int szam = 0;
    queue<pair<int, int>> sor;
    sor.push(make_pair(1, 0));

    while(sor.size() > 0) {
        for(auto j : gyerek[sor.front().first]) {
            if(sor.front().second + len[j] > t) {
                sor.push(make_pair(j, 0));
                szam++;
            } else {
                sor.push(make_pair(j, sor.front().second + len[j]));
            }
        }
        sor.pop();
    }

    return szam;
}

int main() {
    cin >> n >> k;
    len.resize(n+1);
    apa.resize(n+1);
    gyerek.resize(n+1, vector<int>(0));
    
    len[1] = 0; apa[1] = 1;
    for(int i = 2; i <= n; i++) {
        cin >> apa[i] >> len[i];
        gyerek[apa[i]].push_back(i);
    }

    int hatar = 1;
    while(futtat(hatar) > k) hatar++;
    cout << hatar;

	return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Accepted0/01ms316 KiB
2Time limit exceeded0/0485ms748 KiB
3Wrong answer0/31ms316 KiB
4Wrong answer0/32ms316 KiB
5Wrong answer0/31ms512 KiB
6Wrong answer0/33ms316 KiB
7Wrong answer0/37ms420 KiB
8Time limit exceeded0/3500ms380 KiB
9Time limit exceeded0/3499ms316 KiB
10Time limit exceeded0/3500ms316 KiB
11Time limit exceeded0/3483ms564 KiB
12Time limit exceeded0/3481ms564 KiB
13Time limit exceeded0/4500ms564 KiB
14Time limit exceeded0/4500ms564 KiB
15Time limit exceeded0/4472ms756 KiB
16Wrong answer0/48ms820 KiB
17Time limit exceeded0/4500ms856 KiB