Submission #565176

# Submission time Handle Problem Language Result Execution time Memory
565176 2022-05-20T12:00:09 Z turbileg Rainforest Jumps (APIO21_jumps) C++14
0 / 100
4000 ms 2632 KB
#include <bits/stdc++.h>
#include "jumps.h"

#include <vector>

std::vector<int> H;
std::vector<int> v;
int a[200005];
int ans;
int n;

void init(int N, std::vector<int> H) {
  v = H;
  n = N;
}

int minimum_jumps(int A, int B, int C, int D) {
  for (int i = 0; i < n; i++) {
    int x = -1e6, y = 1e6;

    if (v[i] == n) {
      v[i] = n;
      continue;
    }

    for (int j = i - 1; j >= 0; j--) {
      if(v[j] > v[i]) {
        x = j;
        break;
      }
    }

    for (int j = i + 1; j < n; j++) {
      if(v[j] > v[i]) {
        y = j;
        break;
      }
    }

    if(y - i > i - x) a[i] = x;
    else if(y - i < i - x) a[i] = y;
    else {
      if (v[x] < v[y]) a[i] = x;
      else a[i] = y;
    }
  }

  int mx = 0;
  for (int i = C; i <= D; i++) {
    if(v[i] > mx) mx = v[i];
  }

  int ans = 1e6;
  for(int i = A; i <= B; i++) {
    int p = i;
    int res = 0;

    while (p < n) {
      res ++;
      p = a[p];

      if(C <= p && p <= D) {
        if(ans > res) {
          ans = res;
        }

        break;
      }

      if(v[p] > mx) break;
    }
  }

  if (ans == 1e6) return -1;
  else return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Execution timed out 4046 ms 2088 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 2 ms 208 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 2 ms 208 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Correct 29 ms 2096 KB Output is correct
6 Correct 56 ms 2624 KB Output is correct
7 Correct 14 ms 1484 KB Output is correct
8 Incorrect 58 ms 2632 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Execution timed out 4043 ms 1324 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Execution timed out 4043 ms 1324 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Execution timed out 4046 ms 2088 KB Time limit exceeded
4 Halted 0 ms 0 KB -