Loading...
Submission
# When Author Problem Language CPU Memory
20853 2024-06-12 23:39:00 AHAMMED_99 Bonus Project C++ 17 13 ms 3432 kb Wrong Answer - 1
Test Cases
# CPU Memory Points
1 13 ms 3432 kb 0 Wrong Answer
2 0 ms 0 kb 0 Skipped
3 0 ms 0 kb 0 Skipped
4 0 ms 0 kb 0 Skipped
5 0 ms 0 kb 0 Skipped
Source Code
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. void dfs(int node, const vector<vector<int>>& subordinates, vector<int>& balances, int leader, int Y) {
  7. if (node == leader) {
  8. balances[node - 1] += 2 * Y;
  9. } else {
  10. balances[node - 1] += Y;
  11. }
  12. for (int sub : subordinates[node]) {
  13. dfs(sub, subordinates, balances, leader, Y);
  14. }
  15. }
  16.  
  17. void processTestCase(int N, int Q, vector<int>& initialBalances, vector<pair<int, int>>& hierarchy, vector<pair<int, int>>& projects) {
  18. vector<vector<int>> subordinates(N + 1);
  19. vector<int> finalBalances = initialBalances;
  20.  
  21. // Build the hierarchy tree
  22. for (auto& h : hierarchy) {
  23. int A = h.first, B = h.second;
  24. subordinates[A].push_back(B);
  25. }
  26.  
  27. // Process each project
  28. for (auto& project : projects) {
  29. int X = project.first, Y = project.second;
  30. dfs(X, subordinates, finalBalances, X, Y);
  31. }
  32.  
  33. // Print final balances
  34. for (int i = 0; i < N; ++i) {
  35. cout << finalBalances[i] << (i == N - 1 ? "\n" : " ");
  36. }
  37. }
  38.  
  39. int main() {
  40. int T;
  41. cin >> T;
  42. while (T--) {
  43. int N, Q;
  44. cin >> N >> Q;
  45.  
  46. vector<int> initialBalances(N);
  47. for (int i = 0; i < N; ++i) {
  48. cin >> initialBalances[i];
  49. }
  50.  
  51. vector<pair<int, int>> hierarchy(N - 1);
  52. for (int i = 0; i < N - 1; ++i) {
  53. cin >> hierarchy[i].first >> hierarchy[i].second;
  54. }
  55.  
  56. vector<pair<int, int>> projects(Q);
  57. for (int i = 0; i < Q; ++i) {
  58. cin >> projects[i].first >> projects[i].second;
  59. }
  60.  
  61. processTestCase(N, Q, initialBalances, hierarchy, projects);
  62. }
  63. return 0;
  64. }
  65.