53762023-04-27 06:18:16anonEnergiatakarékos ellenőrzéscpp17Időlimit túllépés 30/100584ms22416 KiB
#include <bits/stdc++.h>

#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);

#define pb push_back
#define xx first
#define yy second
#define mp make_pair

#define all(x) x.begin(), x.end()
#define sz(x) x.size()

typedef long long ll;

using namespace std;

const double PI = acos(-1);
const ll INF = 1LL << 62;

int main()
{
    FastIO;

    ll i, a, b, r, c, s1, s2, N;

    cin >> N;

    vector<vector<ll>> g(N + 1);

    for(i = 1; i < N; i++)
    {
        cin >> a >> b;

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

    vector<ll> sol(N + 1, -1);
    vector<ll> tme(N + 1, 0);

    vector<ll> vis(N + 1, false);
    vis[1] = true;

    vector<ll> q;
    q.pb(1);

    while(q.size())
    {
        r = q.back();

        if(sz(g[r]) == 1 && r != 1)
        {
            sol[r] = 0;
            tme[r] = 1;

            q.pop_back();

            continue;
        }

        c = false;

        for(auto x : g[r])
        {
            if(vis[x])
                continue;

            c = true;
            vis[x] = true;

            q.push_back(x);

            break;
        }

        if(c)
            continue;

        sol[r] = 0;
        tme[r] = sz(g[r]);

        for(auto x : g[r])
        {
            if(sol[x] == -1)
                continue;

            sol[r] += min(1 + sol[x] + tme[x], 8 + sol[x]);
            tme[r] += tme[x];
        }

        q.pop_back();
    }

    cout << sol[1] << endl;

    return 0;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1700 KiB
2Elfogadva54ms18532 KiB
subtask20/5
3Időlimit túllépés555ms10180 KiB
4Időlimit túllépés564ms10444 KiB
5Időlimit túllépés584ms10200 KiB
6Időlimit túllépés532ms10436 KiB
7Időlimit túllépés541ms10624 KiB
subtask315/15
8Elfogadva3ms2880 KiB
9Elfogadva3ms3124 KiB
10Elfogadva3ms3008 KiB
11Elfogadva3ms3012 KiB
12Elfogadva3ms3292 KiB
13Elfogadva3ms3152 KiB
14Elfogadva2ms3260 KiB
subtask415/15
15Elfogadva3ms3268 KiB
16Elfogadva3ms3496 KiB
17Elfogadva3ms3476 KiB
18Elfogadva3ms3416 KiB
19Elfogadva3ms3644 KiB
20Elfogadva3ms3724 KiB
21Elfogadva3ms3632 KiB
subtask50/65
22Elfogadva56ms20300 KiB
23Elfogadva57ms20428 KiB
24Elfogadva54ms20512 KiB
25Elfogadva54ms20660 KiB
26Elfogadva54ms20512 KiB
27Elfogadva59ms20688 KiB
28Elfogadva59ms21500 KiB
29Elfogadva57ms21100 KiB
30Elfogadva57ms20928 KiB
31Elfogadva57ms20652 KiB
32Elfogadva57ms20428 KiB
33Elfogadva56ms20392 KiB
34Időlimit túllépés541ms11800 KiB
35Időlimit túllépés558ms11928 KiB
36Időlimit túllépés545ms11828 KiB
37Időlimit túllépés573ms12360 KiB
38Elfogadva109ms21876 KiB
39Elfogadva50ms22120 KiB
40Elfogadva45ms22416 KiB