| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 92531 | ltomic | Deblo (COCI18_deblo) | C++14 | 1087 ms | 14332 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <vector>
using namespace std;
using llint = long long;
const int MAXN = 1e5+5;
vector<int> G[MAXN];
int a[MAXN];
int n, x, y;
llint sum;
llint dfs(int x, int p, int val) {
  llint ret = a[x]^val;
  for (int i: G[x]) {
    if (i == p) continue;
    ret += dfs(i, x, val^a[x]);
  }
  return ret;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d", a+i);
    sum += a[i];
  }
  for (int i = 0; i < n-1; ++i) {
    scanf("%d %d", &x, &y);
    x--; y--;
    G[x].push_back(y);
    G[y].push_back(x);
  }
  for (int i = 0; i < n; ++i) {
    sum += dfs(i, -1, 0);
  }
  printf("%lld\n", sum/2);
  return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
