이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "train.h"
#include <bits/stdc++.h>
using namespace std;
using idata = vector<int>;
using bdata = vector<bool>;
idata controller, charger;
int N, M;
bdata n0, n1;
idata who_wins(idata _controller, idata _charger, idata u, idata v) {
N = _controller.size(); M = u.size();
controller = _controller;
charger = _charger;
n0.resize(N);
n1.resize(N);
for (int i = 0; i < M; i ++) {
if (v[i] == u[i] + 1) n0[u[i]] = 1;
else n1[u[i]] = 1;
}
idata dp(N, 0);
for (int i = N - 1; i >= 0; i --) {
bool right = n0[i] == 1;
bool self = n1[i] == 1;
idata L;
if (right) L.push_back(dp[i + 1]);
if (self) L.push_back(charger[i]);
if (controller[i] == 1) {
int s = 0;
for (int u : L) s += u;
dp[i] = min(1, s);
} else {
int m = 1e9;
for (int u : L) m = min(m, u);
dp[i] = m;
}
}
return dp;
}
# | 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... |