Submission #1148995

#TimeUsernameProblemLanguageResultExecution timeMemory
11489950x34cBurza (COCI16_burza)C++20
0 / 160
0 ms328 KiB
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int, int>
#define endl '\n'
#define int ll

using namespace std;

vector<vector<int>> graph;
vector<int> dp;

int dfs(int v, int p)
{
    if (graph[v].size() - (p == -1 ? 0 : 1) <= 1)
        return dp[v] = 1;

    multiset<int> mx;
    for (int u : graph[v])
    {
        if (u == p)
            continue;
        mx.insert(dfs(u, v));
    }

    mx.erase(mx.find(*mx.rbegin()));
    return dp[v] = *mx.rbegin() + 1;
}

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int N, K;
    cin >> N >> K;

    graph = vector<vector<int>>(N);
    dp = vector<int>(N);

    for (int i = 0; i < N - 1; i++)
    {
        int a, b;
        cin >> a >> b;

        --a;
        --b;

        graph[a].push_back(b);
        graph[b].push_back(a);
    }

    cout << (dfs(0, -1) <= K ? "DA" : "NE") << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...