# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1149610 | Ludissey | The Xana coup (BOI21_xanadu) | C++20 | 127 ms | 52036 KiB |
#include <bits/stdc++.h>
#define int long long
#define sz(a) (int)a.size()
#define all(a) a.begin(), a.end()
using namespace std;
int n;
vector<int> on;
vector<vector<int>> neigh;
vector<vector<int>> child;
vector<vector<vector<int>>> memo;
void make_tree(int x, int p){
for (auto u : neigh[x])
{
if(u==p) continue;
make_tree(u,x);
child[x].push_back(u);
}
}
int dp(int x, bool sta, bool tog){
if(on[x]) sta=!sta;
if(memo[x][sta][tog]!=-1) return memo[x][sta][tog];
vector<pair<int,int>> val(sz(child[x]));
vector<int> df(sz(child[x]));
int sm=0;
for (int i = 0; i < sz(child[x]); i++)
{
int u=child[x][i];
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |