| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1300002 | georgeckito | Obstacles for a Llama (IOI25_obstacles) | C++20 | 68 ms | 7428 KiB |
#include <bits/stdc++.h>
#include "obstacles.h"
using namespace std;
int ps[200'000];
int N, M;
bool sub2 = true;
int parent[600'000];
int sz[600'000];
void make_set(int v)
{
parent[v] = v;
sz[v] = 1;
}
void init(int n)
{
for (int i = 0; i <= n; i++)
{
make_set(i);
}
}
int find_set(int v)
{
if (v == parent[v])
return v;
parent[v] = find_set(parent[v]);
return parent[v];
}
void union_sets(int a, int b)
{
int a1 = find_set(a);
int b1 = find_set(b);
if (a1 != b1)
{
if (sz[a1] < sz[b1])
swap(a1, b1);
parent[b1] = a1;
sz[a1] += sz[b1];
}
}
void initialize(std::vector<int> T, std::vector<int> H)
{
N = T.size();
M = H.size();
if (N == 1)
{
int t = T[0];
ps[0] = (t > H[0] ? 0 : 1);
for (int i = 1; i < H.size(); i++)
ps[i] = ps[i - 1] + (t > H[i] ? 0 : 1);
return;
}
for (int i = 1; i < N; i++)
{
if (T[i] < T[i - 1])
sub2 = false;
}
if (sub2)
{
int t = T[N - 1];
ps[0] = (t > H[0] ? 0 : 1);
for (int i = 1; i < H.size(); i++)
ps[i] = ps[i - 1] + (t > H[i] ? 0 : 1);
return;
}
}
bool can_reach(int L, int R, int S, int D)
{
if (N == 1 || sub2)
{
return ps[max(S, D)] - ps[min(S, D)] == 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
