Submission #586073

# Submission time Handle Problem Language Result Execution time Memory
586073 2022-06-29T19:55:12 Z jairRS Rainforest Jumps (APIO21_jumps) C++17
0 / 100
4000 ms 22212 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;
				vis[a] = true;
				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 1 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Execution timed out 4051 ms 17688 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 Correct 1 ms 208 KB Output is correct
6 Incorrect 6 ms 208 KB Output isn't correct
7 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 Correct 1 ms 208 KB Output is correct
6 Incorrect 6 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 0 ms 208 KB Output is correct
5 Correct 80 ms 14880 KB Output is correct
6 Correct 177 ms 10656 KB Output is correct
7 Correct 16 ms 5528 KB Output is correct
8 Correct 271 ms 18972 KB Output is correct
9 Correct 18 ms 3024 KB Output is correct
10 Correct 319 ms 18156 KB Output is correct
11 Execution timed out 4026 ms 22212 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 302 ms 7616 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 302 ms 7616 KB Output isn't correct
5 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 Execution timed out 4051 ms 17688 KB Time limit exceeded
4 Halted 0 ms 0 KB -