Submission #1252462

#TimeUsernameProblemLanguageResultExecution timeMemory
1252462Jakub_WozniakObstacles for a Llama (IOI25_obstacles)C++20
24 / 100
72 ms7628 KiB
#include "obstacles.h"
#include <bits/stdc++.h>
using namespace std;
const int maxn = 200009;
#define st first
#define nd second
typedef long long ll;
typedef pair<int,int> pii;
int N , M;
bool czy[maxn];
int t[maxn];

int find(int x)
{
  if(t[x] == x)return x;
  return t[x] = find(t[x]);
}

void union_(int a , int b)
{
  a = find(a);
  b = find(b);
  if(a == b)return ;
  t[a] = b;
}

void initialize(std::vector<int> T, std::vector<int> H) 
{
  N = T.size();
  M = H.size();

  int lst = N-1;

  for(int i = 0 ; i < M ; i++)t[i] = i;
  for(int i = 0 ; i < M ; i++)
  {
    czy[i] = 0;
    if(T[lst] > H[i])
    {
      czy[i] = 1;
    }
    else continue;

    if((i != 0) && (czy[i-1]))union_(i,i-1);
  }
  return;
}

bool can_reach(int L, int R, int S, int D) 
{
  return find(S) == find(D);
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...