Submission #1171749

#TimeUsernameProblemLanguageResultExecution timeMemory
1171749paulxaxaBurza (COCI16_burza)C++20
0 / 160
1 ms1608 KiB
#include <bits/stdc++.h>

#define NMAX 50000
#define LOG 17

#define ll long long int
#define BASE 1024

#define MOD 1000000009


using namespace std;

ifstream fin("cod.in");
ofstream fout("cod.out");

int n,k;
int dp[NMAX+1];
vector<int> adj[NMAX+1];

void dfs(int x,int p)
{
    int mx1=0,mx2=0;
    for(int y : adj[x])
    {
        if(y!=p)
        {
            dfs(y,x);
            if(mx1 <= dp[y])
            {
                mx2=mx1;
                mx1=dp[y];
            }
            else if(mx2 < dp[y])
            {
                mx2=dp[y];
            }
        }
    }
    dp[x] = 1 + mx2;
}
int main()
{
    cin >> n >> k;
    for(int i=1;i<n;i++)
    {
        int x,y;
        cin >> x >> y;
        adj[x].push_back(y);
        adj[y].push_back(x);
    }
    dfs(1,0);

//    for(int i=1;i<=n;i++)
//    {
//        cout << dp[i] << " ";
//    }
    cout << (dp[1] > k ? "DA" : "NE");
}
#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...