# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
86986 | joseacaz | Deblo (COCI18_deblo) | C++17 | 1085 ms | 15692 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define MAXN 100005
using namespace std;
typedef long long ll;
ll N, val[MAXN], u, v, vis[MAXN], ans;
vector < ll > Graph[MAXN];
void clear ()
{
for ( ll i = 1; i <= N; i++ )
vis[i] = 0;
}
void solve ( ll start, ll node, ll v )
{
if ( node >= start )
ans += v;
vis[node] = 1;
for ( auto i : Graph[node] )
if ( !vis[i] )
solve ( start, i, v ^ val[i] );
}
int main()
{
cin >> N;
for ( ll i = 1; i <= N; i++ )
cin >> val[i];
for ( ll i = 0; i < N - 1; i++ )
{
cin >> u >> v;
Graph[u].push_back ( v );
Graph[v].push_back ( u );
}
for ( ll i = 1; i <= N; i++ )
{
clear();
solve ( i, i, val[i] );
}
cout << ans << "\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |