# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
973814 | Batorgil952 | Game (APIO22_game) | C++17 | 986 ms | 5724 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
const int N=3e4+4;
vector< int > V[N], U[N];
int KK, NN;
int mi[N], ma[N];
void init(int n, int k) {
KK=k;
NN=n;
for(int i=0; i<k; i++){
mi[i]=ma[i]=i;
}
for(int i=k; i<n; i++){
mi[i]=n+1;
ma[i]=-1;
}
}
void DFSma(int p, int ima){
for(int i=0; i<V[p].size(); i++){
if(ima>ma[V[p][i]]){
ma[V[p][i]]=ima;
DFSma(V[p][i], ima);
}
}
}
void DFSmi(int p, int imi){
for(int i=0; i<U[p].size(); i++){
if(imi<mi[U[p][i]]){
mi[U[p][i]]=imi;
DFSmi(U[p][i], imi);
}
}
}
int add_teleporter(int u, int v) {
if(u==v){
if(u<KK) return 1;
return 0;
}
if(ma[u]>=mi[v] && ma[u]!=-1 && mi[v]!=NN+1){
return 1;
}
if(ma[u]!=-1){
if(ma[u]>ma[v]){
ma[v]=ma[u];
DFSma(v, ma[u]);
}
}
if(mi[v]!=NN+1){
if(mi[v]<mi[u]){
mi[u]=mi[v];
DFSmi(u, mi[v]);
}
}
V[u].push_back(v);
U[v].push_back(u);
return 0;
}
Compilation message (stderr)
# | 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... |