Submission #1301345

#TimeUsernameProblemLanguageResultExecution timeMemory
1301345tamir1Obstacles for a Llama (IOI25_obstacles)C++20
10 / 100
67 ms9664 KiB
#include <bits/stdc++.h>
#include "obstacles.h"
using namespace std;

static int N, M;
static vector<int> Tval, Hval;
static vector<int> c;
static vector<int> b;

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

    c.assign(M, 0);
    b.assign(M, -1);

    int d = Tval[0];

    // Blocked if T[0] <= H[i]
    for (int i = 0; i < M; i++) {
        if (d <= Hval[i]) {
          c[i]=1;
        }
    }

    int last = M;

    for (int i = M - 1; i >= 0; i--) {
        if (c[i] == 0) {         // free
            b[i] = last - 1;
        } else {                 // blocked
            last = i;
        }
    }
}

bool can_reach(int L, int R, int S, int D) {
    return b[min(S, D)] >= max(S, 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...