Submission #699201

#TimeUsernameProblemLanguageResultExecution timeMemory
699201tengiz05City (JOI17_city)C++17
22 / 100
445 ms44808 KiB
#include "Encoder.h"
#include <vector>
#include <algorithm>

constexpr int N = 250000;

void Encode(int n, int A[], int B[]) {
    std::vector<std::vector<int>> e(n);
    for (int i = 0; i < n - 1; i++) {
        e[A[i]].push_back(B[i]);
        e[B[i]].push_back(A[i]);
    }
	std::vector<int> in(n), siz(n);
    int timeStamp = 0;
    std::function<void(int, int)> dfs = [&](int u, int p) {
        in[u] = timeStamp++;
        siz[u] = 1;
        for (int v : e[u]) {
            if (v != p) {
                dfs(v, u);
                siz[u] += siz[v];
            }
        }
    };
    dfs(0, -1);
    for (int i = 0; i < n; i++) {
        Code(i, in[i] + (siz[i] - 1) * 1LL * N);
    }
}
#include "Device.h"

constexpr int N = 250000;

void InitDevice() {
}

int Answer(long long S, long long T) {
	int ina = S % N;
    int outa = ina + S / N;
    int inb = T % N;
    int outb = inb + T / N;
    if (inb <= ina && ina <= outb) {
        return 0;
    } else if (ina <= inb && inb <= outa) {
        return 1;
    } else {
        return 2;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...