Submission #586071

# Submission time Handle Problem Language Result Execution time Memory
586071 2022-06-29T19:53:11 Z jairRS Rainforest Jumps (APIO21_jumps) C++17
0 / 100
4000 ms 22180 KB
#include "jumps.h"
#include <bits/stdc++.h>
using namespace std;

const int INF = 1e9 + 1;
vector<int> firstGreaterToTheRight;
vector<vector<int>> adj;

void init(int N, vector<int> H)
{
	stack<pair<int, int>> s;
	firstGreaterToTheRight = vector<int>(N, -1);
	adj = vector<vector<int>>(N);
	for (int i = N - 1; i >= 0; i--)
	{
		while (!s.empty() && s.top().first < H[i])
			s.pop();

		if (!s.empty())
			firstGreaterToTheRight[i] = s.top().second;

		s.push({H[i], i});
	}

	for (int i = 0; i < N; i++)
		if (firstGreaterToTheRight[i] != -1)
			adj[firstGreaterToTheRight[i]].push_back(i);
}

int minimum_jumps(int A, int B, int C, int D)
{
	int res = INF;
	for (int R = C; R <= D; R++)
	{
		queue<pair<int, int>> bfs;
		map<int, bool> vis;
		bfs.push({R, 0});
		vis[R] = true;
		while (!bfs.empty())
		{
			pair<int, int> cur = bfs.front();
			bfs.pop();
			for (int a : adj[cur.first])
			{
				if (vis[a])
					continue;
				bfs.push({a, cur.second + 1});
				if (A <= a && a <= B)
					res = min(res, cur.second + 1);
			}
		}
	}

	return (res == INF ? -1 : res);
}
# 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 Execution timed out 4075 ms 17636 KB Time limit exceeded
4 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 0 ms 208 KB Output is correct
4 Correct 1 ms 208 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Incorrect 5 ms 208 KB Output isn't correct
7 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 0 ms 208 KB Output is correct
4 Correct 1 ms 208 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Incorrect 5 ms 208 KB Output isn't correct
7 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 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Correct 66 ms 14928 KB Output is correct
6 Correct 178 ms 10720 KB Output is correct
7 Correct 21 ms 5532 KB Output is correct
8 Correct 225 ms 18952 KB Output is correct
9 Correct 16 ms 3024 KB Output is correct
10 Correct 286 ms 18096 KB Output is correct
11 Execution timed out 4046 ms 22180 KB Time limit exceeded
12 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 0 ms 208 KB Output is correct
4 Incorrect 290 ms 7604 KB Output isn't correct
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 0 ms 208 KB Output is correct
4 Incorrect 290 ms 7604 KB Output isn't correct
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 Execution timed out 4075 ms 17636 KB Time limit exceeded
4 Halted 0 ms 0 KB -