fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<vector<int>> vec;
  4. int ile[1000007];
  5. int wart[1000007];
  6. int ile_ma(int x)
  7. {
  8. cout<<"duap"<<endl;
  9. int c=vec[x].size();
  10. if(ile[x]>0)
  11. {
  12. return ile[x];
  13. }
  14. if(c==0)
  15. {
  16. ile[x]=wart[x];
  17. return 1;
  18. }
  19. int wyn=wart[x];
  20. for(auto a:vec[x])
  21. {
  22. wyn+=ile_ma(a);
  23. }
  24. ile[x]=wyn;
  25. return wyn;
  26. }
  27. int main()
  28. {
  29. ios_base::sync_with_stdio(0);
  30. cin.tie(0);
  31. int n;cin>>n;
  32. if(n==1)
  33. {
  34. cout<<0;
  35. return 0;
  36. }
  37. for(int i=0;i<n;i++)
  38. {
  39. vector<int> a;vec.push_back(a);
  40. }
  41. cout<<"asa"<<endl;
  42. for(int i=2;i<=n;i++)
  43. {
  44. int a,b;cin>>a>>b;
  45. vec[a].push_back(i);
  46. wart[i]=b;
  47. }
  48. ile_ma(1);
  49. cout<<"dasdadfADD"<<endl;
  50. for(int i=1;i<=n;i++)
  51. {
  52. cout<<ile[i]<<endl;
  53. }
  54. }
  55.  
Success #stdin #stdout 0s 5316KB
stdin
6
4 4
1 10
1 1
1 3
2 1
stdout
asa
duap
duap
duap
duap
duap
duap
dasdadfADD
8
5
10
6
3
1