제출 #1291123

#제출 시각아이디문제언어결과실행 시간메모리
1291123XXBabaProBerkayCity (JOI17_city)C++20
22 / 100
238 ms28576 KiB
#include "Encoder.h"
#include <bits/stdc++.h>
using namespace std;

#define PB push_back

template<class T>
using vec = vector<T>;
using ll = long long;

static ll tim = 0;
static vec<vec<int>> adj;
static vec<ll> sz;

static ll dfs(int u, int p) {
	ll t = tim++;
	sz[u] = 1;
	for (int v : adj[u]) {
		if (v == p) continue;

		sz[u] += dfs(v, u);
	}

	ll c = (t << 18ll) + sz[u];

	Code(u, c);

	return sz[u];
}

void Encode(int N, int A[], int B[])
{
	adj.assign(N, vec<int>());
	sz.assign(N, 0);
	for (int i = 0; i < N - 1; i++) {
		adj[A[i]].PB(B[i]);
		adj[B[i]].PB(A[i]);
	}

	dfs(0, 0);
}
#include "Device.h"
#include <bits/stdc++.h>
using namespace std;

template<class T>
using vec = vector<T>;
using ll = long long;

void InitDevice()
{
}

int Answer(long long S, long long T)
{
	ll t1 = (S >> 18ll);
	ll t2 = (T >> 18ll);
	ll s1 = (S & ((1ll << 18ll) - 1ll));
	ll s2 = (T & ((1ll << 18ll) - 1ll));

	if (t1 <= t2 && t2 < t1 + s1) return 1;
	if (t2 <= t1 && t1 < t2 + s2) return 0;

	return 2;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...