QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#555686#9238. TreeModyKachef0 52ms25864kbC++23868b2024-09-10 08:11:212024-09-10 08:11:23

Judging History

你现在查看的是最新测评结果

  • [2024-09-10 08:11:23]
  • 评测
  • 测评结果:0
  • 用时:52ms
  • 内存:25864kb
  • [2024-09-10 08:11:21]
  • 提交

answer

#include <bits/stdc++.h>
#include "tree.h"
using namespace std;

int n;
std::vector<int> p, w;

vector<vector<int>> adj; 
vector<int> dp , co; 

void dfs(int node , int par , int l , int r){
  for (auto i : adj[node]){
    dfs(i , node , l , r); 
    dp[node] += dp[i];    
  }
  if (dp[node] >= l && dp[node] <= r) {}
  else if (dp[node] < l) co[node] += l - dp[node] , dp[node] = l;
  else if (dp[node] > r) co[node] += dp[node] - r , dp[node] = r;
}

void init(std::vector<int> P, std::vector<int> W) {
  p = P;
  w = W;
  n = (int)p.size();
  adj.assign(n , {});
  for (int i = 1 ; i < n ; i++){
    adj[p[i]].push_back(i); 
  }
 
}

long long query(int L, int R) {
  dp.assign(n , 0); 
  co.assign(n,  0);
  dfs(0 , -1 , L , R);
  long long ans = 0;
  for (int i = 0 ; i < n ; i++) ans += abs(co[i]) * w[i];
  return ans;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 52ms
memory: 25864kb

input:

ZYKrr4gCMcKeyfk6kbZU5k4ZyW3sAGT0
200000
0 0 2 2 4 5 4 5 8 9 10 9 8 10 14 15 14 15 18 19 20 21 18 22 21 24 24 27 22 27 30 31 31 33 30 19 20 33 38 38 40 41 41 43 44 43 44 47 48 49 50 49 50 53 54 53 48 54 58 58 60 60 62 62 64 64 66 66 67 67 70 71 72 71 72 75 70 75 78 78 80 81 80 81 84 85 86 86 88 89 90...

output:

11XNDQnkdGXK8y3iaqfMvWKu4vqrBbz1
OK
674064313654
829764179289
104107877065
622049279621
573927368650
1248276814116
1301833615798
417838861293
365718115496
1297724368966

result:

wrong answer 3rd lines differ - on the 1st token, expected: '682654248246', found: '674064313654'

Subtask #2:

score: 0
Wrong Answer

Test #11:

score: 0
Wrong Answer
time: 1ms
memory: 3988kb

input:

ZYKrr4gCMcKeyfk6kbZU5k4ZyW3sAGT0
2000
0 0 1 1 4 4 6 7 6 7 10 10 12 12 14 15 14 15 18 19 19 21 18 21 24 24 26 27 26 27 30 30 32 32 34 34 36 37 38 39 39 41 37 38 36 41 46 47 48 47 48 51 51 53 54 54 56 56 58 58 60 61 61 63 64 64 66 67 66 67 70 71 72 72 74 75 76 76 75 74 70 77 63 60 77 85 85 87 87 89 89...

output:

11XNDQnkdGXK8y3iaqfMvWKu4vqrBbz1
OK
272814869535
980336246587
1267466909865
60865307579
800000072866
932272484622
252185583287
49536529586
196728204426
412333403963

result:

wrong answer 3rd lines differ - on the 1st token, expected: '175909322571', found: '272814869535'

Subtask #3:

score: 0
Skipped

Dependency #2:

0%

Subtask #4:

score: 0
Time Limit Exceeded

Test #33:

score: 0
Time Limit Exceeded

input:

ZYKrr4gCMcKeyfk6kbZU5k4ZyW3sAGT0
200000
0 1 0 1 2 2 6 6 7 7 10 11 11 13 14 13 14 17 10 17 20 21 22 22 23 21 20 23 28 29 28 29 32 33 34 32 33 34 38 39 39 40 42 42 44 45 46 47 48 45 46 48 52 53 53 54 56 56 58 58 60 61 62 63 63 65 61 66 62 66 70 71 71 72 72 75 60 65 75 79 52 44 70 47 40 54 79 87 87 89 ...

output:


result:


Subtask #5:

score: 0
Skipped

Dependency #4:

0%

Subtask #6:

score: 0
Time Limit Exceeded

Test #47:

score: 0
Time Limit Exceeded

input:

ZYKrr4gCMcKeyfk6kbZU5k4ZyW3sAGT0
200000
0 1 0 1 4 5 5 7 7 9 9 11 12 13 13 11 14 12 14 19 20 19 20 23 24 25 26 26 28 28 30 31 32 33 33 35 35 30 32 31 37 41 42 43 24 44 46 46 48 49 50 51 51 53 54 55 55 56 56 48 50 54 44 59 49 25 59 67 68 67 68 71 71 72 72 75 76 76 78 79 80 37 80 83 83 85 86 85 79 41 8...

output:


result:


Subtask #7:

score: 0
Skipped

Dependency #1:

0%