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...