Submission #591555

#TimeUsernameProblemLanguageResultExecution timeMemory
591555MDarioGame (APIO22_game)C++17
60 / 100
4094 ms23880 KiB
#include "game.h"
#include<bits/stdc++.h>
using namespace std;
int n, k;
int e[300000];
vector<int> ad[300000];
bool r=0;
void dfs(int xf){
    for(auto i : ad[xf]){
        if(i<=e[xf])r=1;
        else if(e[i]<e[xf]){
            e[i]=e[xf];
            dfs(i);
        }
    }
    return;
}
void init(int N, int K) {
    n=N;
    k=K;
    for(int i=0; i<k; i++)e[i]=i;
    for(int i=k; i<n; i++)e[i]=-1;
    return;
}

int add_teleporter(int u, int v) {
    if(r)return 1;
    ad[u].push_back(v);
    if(v<=e[u])r=1;
    else if(e[v]<e[u]){
        dfs(u);
    }
    return r;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...