Submission #1175005

#TimeUsernameProblemLanguageResultExecution timeMemory
1175005ZeroCoolCat in a tree (BOI17_catinatree)C++20
100 / 100
27 ms10940 KiB
#include <bits/stdc++.h> #define int long long #define ll long long #define ld long double #define ar array #define all(v) v.begin(), v.end() using namespace std; const int N = 5e5 + 20; const int LOG = 20; const int INF = 1e12; const int MOD = 1e9 + 7; void chmin(int &x,int y){x = min(x, y);}; void chmax(int &x,int y){x = max(x, y);}; void mm(int &x){x = (x % MOD + MOD) % MOD;}; signed main(){ios_base::sync_with_stdio(false);cin.tie(0); int n, x; cin>>n>>x; vector<int> g[n]; for(int i = 1;i < n;i++){ int x; cin>>x; g[x].push_back(i); } int ans = n; int dp[n] = {0}; for(int i = n- 1;i >= 0;i--){ for(auto u: g[i]){ if(dp[u] + dp[i] + 1 < x){ ans--; chmax(dp[i], dp[u] + 1); }else chmin(dp[i], dp[u] + 1); } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...