Language: C++

#include "bits/stdc++.h"
#define ll long long
#define rep2(i,a,b) for(int i=a;i<=b;++i)
#define rep(i,n) for(int i=0;i<n;i++)
#define pii pair<int,int>
#define tii tuple<int,int,int>
#define pq priority_queue<int>
#define pqg priority_queue<int,vector<int>,greater<int>>
#define pb push_back
ll int MOD=998244353;
#define INF 2*1e9
#define N 310000
 
using namespace std;
string alphabet("abcdefghijklmnopqrstuvwxyz");

int n;
vector<int> v[N];
int depth(int a){
    if(!v[a].size()) return 0;
    vector<int> w;
    rep(i,v[a].size()){
        w.pb(depth(v[a][i]));
    }
    sort(w.begin(),w.end());
    int ans=0;
    rep(i,w.size()){
        ans=max(ans,w[i]+w.size()-i);
        temp--;
    }
    return ans;
}
main(){
    cin>>n;
    rep2(i,2,n){
        int a;
        cin>>a;
        v[a].push_back(i);
    }
    cout<<depth(1);
    return 0;
}


Compiler output:
a.cc: In function 'int depth(int)':
a.cc:28:16: error: no matching function for call to 'max(int&, std::vector<int>::size_type)'
   28 |         ans=max(ans,w[i]+w.size()-i);
      |             ~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:28:16: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'std::vector<int>::size_type' {aka 'long unsigned int'})
   28 |         ans=max(ans,w[i]+w.size()-i);
      |             ~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:28:16: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   28 |         ans=max(ans,w[i]+w.size()-i);
      |             ~~~^~~~~~~~~~~~~~~~~~~~~
a.cc:29:9: error: 'temp' was not declared in this scope; did you mean 'tm'?
   29 |         temp--;
      |         ^~~~
      |         tm
a.cc: At global scope:
a.cc:33:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   33 | main(){
      | ^~~~