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