Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- int main() {
- int n,vert,c,d;
- vector<int>v;
- vector<int>p;
- vector<int>distap;
- vector<int>control;
- cin>>n;
- for (int i=0;i<n;i++){
- cin>>vert;
- v.push_back(vert);
- p.push_back(-1);
- distap.push_back(0);
- control.push_back(0);
- }
- for (int i=1;i<n;i++){
- cin>>c>>d;
- p[i]=c-1;
- distap[i]=d;
- }
- int aux,j,vj;
- for (int i=1;i<n;i++){
- j=i;
- vj=v[j];
- aux=0;
- //cout<<"pop"<<endl;
- while ((distap[j]+aux)<=vj){
- //cout<<"j: "<<j<<" distap[j]: "<<distap[j]<<" aux: "<<aux<<" v[j]: "<<v[j]<<endl;
- aux=aux+distap[j];
- control[p[j]]++;
- //cout<<"control de "<<p[j]<<" aumentó"<<endl;
- j=p[j];
- //cout<<"evaluando "<<j<<endl;
- if (j==0)
- break;
- }
- }
- for (int i=0;i<n;i++){
- cout<<control[i];
- if (i<(n-1))
- cout<<' ';
- else
- cout<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment