제출 #1317078

#제출 시각아이디문제언어결과실행 시간메모리
1317078vuvietPapričice (COCI20_papricice)C++20
컴파일 에러
0 ms0 KiB
/**
 *     Author:       tlamtruong - Trương Thùy Lâm
 *     Studies at:   Le Hong Phong High School for the Gifted
**/

#include <bits/stdc++.h>

using namespace std;

constexpr int maxn = 2e5 + 5;
vector<int> children[maxn];
int n, sz[maxn], ans = maxn;
set<int> P, Q;

void depth_search(int u, int p)
{
    sz[u] = 1;
    for (int v : children[u])
        if (v != p)
            depth_search(v, u), sz[u] += sz[v];
}

void Update(int u, set<int> &S, int val, int ok)
{
    auto it = S.lower_bound(val);
    if (it != S.end())
    {
        int mx = max({n - *it, *it - sz[u], sz[u]});
        int mi = min({n - *it, *it - sz[u], sz[u]});
        if (ok == 0)
        {
            mx = max({n - *it - sz[u], *it, sz[u]});
            mi = mix({n - *it - sz[u], *it, sz[u]});
        }
        ans = min(ans, mx - mi);
    }
    if (it != S.begin())
    {
        --it;
        int mx = max({n - *it, *it - sz[u], sz[u]});
        int mi = min({n - *it, *it - sz[u], sz[u]});
        if (ok == 0)
        {
            mx = max({n - *it - sz[u], *it, sz[u]});
            mi = mix({n - *it - sz[u], *it, sz[u]});
        }
        ans = min(ans, mx - mi);
    }
}

void DFSVisit(int u, int p)
{
    P.insert(sz[u]);
    Update(u, P, (n + sz[u]) / 2, 1);
    Update(u, Q, (n - sz[u]) / 2, 0);
    for (int v : children[u])
        if (v != p)
            DFSVisit(v, u);
    P.erase(P.find(sz[u]));
    Q.insert(sz[u]);
}

void ReadData()
{
    cin.tie(0)->sync_with_stdio(0);
    cin >> n;
    for (int i = 2; i <= n; ++i)
    {
        int x, y;
        cin >> x >> y;
        children[x].push_back(y);
        children[y].push_back(x);
    }
}

void Solve()
{
    depth_search(1, 1);
    DFSVisit(1, 1);
    cout << ans;
}

int main() 
{
    ReadData();
    Solve();
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

papricice.cpp: In function 'void Update(int, std::set<int>&, int, int)':
papricice.cpp:33:18: error: 'mix' was not declared in this scope; did you mean 'mi'?
   33 |             mi = mix({n - *it - sz[u], *it, sz[u]});
      |                  ^~~
      |                  mi
papricice.cpp:45:18: error: 'mix' was not declared in this scope; did you mean 'mi'?
   45 |             mi = mix({n - *it - sz[u], *it, sz[u]});
      |                  ^~~
      |                  mi