Submission #559146

# Submission time Handle Problem Language Result Execution time Memory
559146 2022-05-09T12:42:33 Z fatemetmhr Mousetrap (CEOI17_mousetrap) C++17
25 / 100
676 ms 73392 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

#define all(x)   x.begin(), x.end()
#define fi       first
#define se       second
#define pb       push_back

const int maxn5 = 1e6 + 10;

int tale, mo, dp[maxn5];
vector <int> adj[maxn5];

inline void dfs(int v, int par){
    int mx = 0, smx = 0;
    for(auto u : adj[v]) if(u != par && u != tale){
        dfs(u, v);
        if(dp[u] >= mx){
            smx = mx;
            mx = dp[u];
        }
        else
            smx = max(smx, dp[u]);
    }
    dp[v] = smx + adj[v].size() - 1;
}

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    int n, a, b; cin >> n >> a >> b;
    a--; b--;
    mo = b;
    tale = a;
    for(int i = 0; i < n - 1; i++){
        int a, b; cin >> a >> b;
        a--; b--;
        adj[a].pb(b);
        adj[b].pb(a);
    }

    assert(a != b);

    if(a == b)
        return cout << 0 << endl, 0;

    dfs(mo, -1);
    cout << dp[mo] << endl;
}
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 23764 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 286 ms 58924 KB Output is correct
2 Correct 258 ms 55460 KB Output is correct
3 Correct 663 ms 60028 KB Output is correct
4 Correct 323 ms 48332 KB Output is correct
5 Correct 676 ms 73324 KB Output is correct
6 Correct 652 ms 73392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 23764 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 23764 KB Output isn't correct
2 Halted 0 ms 0 KB -