Submission #1261199


Source Code Expand

#define _USE_MATH_DEFINES
#include <cstdio>
#include <iostream>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <complex>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <limits>
#include <climits>
#include <cfloat>
#include <functional>
#include <iterator>
using namespace std;

vector<vector<int> > edges;

pair<int, int> solve(int curr, int prev, int& ans)
{
    int leaf = 0;
    vector<int> v;
    for(int next : edges[curr]){
        if(next == prev)
            continue;

        auto p = solve(next, curr, ans);
        leaf += p.first;
        v.push_back(p.second);
    }

    if(v.size() == 0){
        ans = max(ans, 1);
        return make_pair(1, 0);
    }
    else if(v.size() == 1){
        ans = max(ans, leaf + v[0] + 1);
        return make_pair(leaf, v[0] + 1);
    }
    else if(v.size() == 2){
        sort(v.rbegin(), v.rend());
        ans = max(ans, leaf + v[0] + v[1] + 1);
        return make_pair(leaf, v[0]);
    }
    else{
        sort(v.rbegin(), v.rend());
        ans = max(ans, leaf + v[0] + v[1]);
        return make_pair(leaf, v[0]);
    }
}

int main()
{
    int n;
    cin >> n;
    edges.assign(n, vector<int>());
    for(int i=0; i<n-1; ++i){
        int p, q;
        cin >> p >> q;
        -- p;
        -- q;
        edges[p].push_back(q);
        edges[q].push_back(p);
    }

    int ans = 0;
    solve(0, -1, ans);
    cout << ans << endl;

    return 0;
}

Submission Info

Submission Time
Task K - Problem on Tree
User mamekin
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1656 Byte
Status WA
Exec Time 86 ms
Memory 5760 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 2
AC × 4
WA × 39
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask1_01.txt WA 71 ms 4864 KB
subtask1_02.txt WA 54 ms 3968 KB
subtask1_03.txt WA 22 ms 1792 KB
subtask1_04.txt WA 29 ms 2304 KB
subtask1_05.txt WA 35 ms 2688 KB
subtask1_06.txt WA 4 ms 512 KB
subtask1_07.txt WA 81 ms 5760 KB
subtask1_08.txt WA 22 ms 1792 KB
subtask1_09.txt WA 49 ms 3584 KB
subtask1_10.txt WA 64 ms 4608 KB
subtask1_11.txt WA 29 ms 2304 KB
subtask1_12.txt WA 11 ms 1024 KB
subtask1_13.txt WA 6 ms 640 KB
subtask1_14.txt WA 7 ms 640 KB
subtask1_15.txt WA 83 ms 5760 KB
subtask1_16.txt WA 82 ms 5760 KB
subtask1_17.txt WA 80 ms 5760 KB
subtask1_18.txt WA 84 ms 5760 KB
subtask1_19.txt WA 83 ms 5760 KB
subtask1_20.txt WA 85 ms 5760 KB
subtask1_21.txt WA 82 ms 5760 KB
subtask1_22.txt WA 84 ms 5760 KB
subtask1_23.txt WA 79 ms 5760 KB
subtask1_24.txt WA 86 ms 5760 KB
subtask1_25.txt WA 82 ms 5760 KB
subtask1_26.txt WA 82 ms 5760 KB
subtask1_27.txt WA 82 ms 5760 KB
subtask1_28.txt WA 82 ms 5760 KB
subtask1_29.txt WA 82 ms 5760 KB
subtask1_30.txt WA 84 ms 5760 KB
subtask1_31.txt WA 80 ms 5760 KB
subtask1_32.txt WA 81 ms 5760 KB
subtask1_33.txt WA 79 ms 5760 KB
subtask1_34.txt WA 82 ms 5760 KB
subtask1_35.txt WA 82 ms 5760 KB
subtask1_36.txt WA 82 ms 5760 KB
subtask1_37.txt WA 83 ms 5760 KB
subtask1_38.txt WA 82 ms 5760 KB
subtask1_39.txt WA 86 ms 5760 KB