제출 #1168168

#제출 시각아이디문제언어결과실행 시간메모리
1168168Muhammad_Aneeq새로운 문제 (POI13_luk)C++20
100 / 100
315 ms23916 KiB
/*
بسم الله الرحمن الرحيم
Author:
                          (:Muhammad Aneeq:)
*/

#include <iostream>
#include <vector>
#warning check the output
using namespace std;
#define int long long
int const N=3e5+10;
vector<int>nei[N];
int ans=0;
int dfs(int u,int mid,int p=-1)
{
    int z=mid-nei[u].size()+(u!=1);
    for (auto i:nei[u])
    {
        if (i==p) continue;
        z+=min(0ll,dfs(i,mid,u));
    }
    return z;
}
inline void solve()
{
    int n;
    cin>>n;
    for (int i=1;i<n;i++)
    {
        int u,v;
        cin>>u>>v;
        nei[u].push_back(v);
        nei[v].push_back(u);
    }
    int st=-1,en=n;
    while (st+1<en)
    {
        int mid=(st+en)/2;
        if (dfs(1,mid)>=0)
            en=mid;
        else
            st=mid;
    }
    cout<<st+1<<endl;
}
signed main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int t=1;
    for (int i=1;i<=t;i++)
    {
        solve();
    }
}

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

luk.cpp:9:2: warning: #warning check the output [-Wcpp]
    9 | #warning check the output
      |  ^~~~~~~
#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...