# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1143957 | gyg | Toy Train (IOI17_train) | C++20 | 3 ms | 840 KiB |
#include "train.h"
#include <bits/stdc++.h>
using namespace std;
#define sig signed
#define int long long
#define arr array
#define vec vector
const int N = 5e3 + 5;
int n, m;
arr<bool, N> a, ch;
arr<bool, N> cyc, lst;
vec<int> a_wn, b_wn;
vec<sig> who_wins(vec<sig> _a, vec<sig> _ch, vec<sig> _u, vec<sig> _v) {
n = _a.size(), m = _u.size();
for (int u = 1; u <= n; u++) a[u] = _a[u - 1], ch[u] = _ch[u - 1];
lst.fill(true);
for (int i = 1; i <= m; i++) {
int u = _u[i - 1] + 1, v = _v[i - 1] + 1;
if (u == v) cyc[u] = true;
else lst[u] = false;
}
for (int u = 1; u <= n; u++) {
if (cyc[u] && ch[u] && a[u]) a_wn.push_back(u);
if (cyc[u] && ch[u] && lst[u] && !a[u]) a_wn.push_back(u);
if (cyc[u] && !ch[u] && !a[u]) b_wn.push_back(u);
if (cyc[u] && !ch[u] && lst[u] && a[u]) b_wn.push_back(u);
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |