Submission #982689

#TimeUsernameProblemLanguageResultExecution timeMemory
982689vjudge1Game (APIO22_game)C++17
2 / 100
167 ms262144 KiB
#include "game.h"
#include<bits/stdc++.h>
using namespace std;

int vt[300003],N,K;
vector<int>ad[300003];

bool dfs(int u,int vl=-1){
  if(u<K&&u<=vl)return 1;
  if(u<K)vl=u;
  vt[u]=vl;
  for(auto v:ad[u])
    if(vt[v]==-1||vt[v]<=vl)
      if(dfs(v,vl))return 1;
  return 0;
}

void init(int n, int k) {
  N=n,K=k;
  for(int i=0;i<k-1;i++)
    ad[i].push_back(i+1);
}

int add_teleporter(int u, int v){
  ad[u].push_back(v);
  for(int i=0;i<N;i++)vt[i]=-1;
  return dfs(0);
}
#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...