Submission #469717

# Submission time Handle Problem Language Result Execution time Memory
469717 2021-09-01T16:12:19 Z blue Cat in a tree (BOI17_catinatree) C++17
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>;#define z size();
using namespace std;
int N,D,x,q,i;deque<int>c[200000];
deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
int main(){cin>>N>>D;for(i=1;i<N;i++){cin>>x;c[x].push_back(i);}for(int r:d(0))q=max(q,r);cout<<q;}

Compilation message

catinatree.cpp:1:25: warning: extra tokens at end of #include directive
    1 | #include <bits/stdc++.h>;#define z size();
      |                         ^
catinatree.cpp: In function 'std::deque<int> d(int)':
catinatree.cpp:4:70: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                      ^
catinatree.cpp:4:74: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                          ^
catinatree.cpp:4:98: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                                                  ^
catinatree.cpp:4:134: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                                                                                      ^
catinatree.cpp:4:165: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                                                                                                                     ^
catinatree.cpp:4:194: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                                                                                                                                                  ^
catinatree.cpp:4:214: error: 'class std::deque<int>' has no member named 'z'
    4 | deque<int>d(int u){deque<int>q(1,1);for(int v:c[u]){auto a=d(v);if(q.z<a.z)swap(q,a);for(i=0;i<a.z;i++)q[i]=max(q[i],max(a[i]+(D-i<q.z?q[max(D-i,i)]:0),q[i]+(D-i<a.z?a[max(D-i,i)]:0)));for(i=a.z;i>=0;i--)if(i+1<q.z)q[i]=max(q[i],q[i+1]);}q.push_front(q.front());return q;}
      |                                                                                                                                                                                                                      ^