Submission #977902

# Submission time Handle Problem Language Result Execution time Memory
977902 2024-05-08T13:30:50 Z rshohruh Rainforest Jumps (APIO21_jumps) C++17
4 / 100
527 ms 1992 KB
#include "jumps.h"

#include <vector>
#include <bits/stdc++.h>
using namespace std;
int inf = 1e9;
int n, l;
vector<int> h;
vector<pair<int, int>> a;
vector<vector<int>> up, A;
void init(int N, std::vector<int> H)
{
	for(int i = 0; i < N; ++i) assert(H[i] == i+1);
	// n = N+1;
	// h = H;
	// l = ceil(log2(n));

	// h.push_back(n);
	// a.resize(n);
	// up.resize(n, vector<int>(l+1));
	// A.resize(n, vector<int>(l+1));

	// stack<int> st;
	// for(int i = 0; i < n; ++i){
	// 	while(!st.empty() && h[st.top()] < h[i]){
	// 		a[st.top()].second = i;
	// 		st.pop();
	// 	}
	// 	st.push(i);
	// }
	// while(!st.empty()){
	// 	a[st.top()].second = st.top();
	// 	st.pop();
	// }

	// for(int i = n-1; i >= 0; --i){
	// 	while(!st.empty() && h[st.top()] < h[i]){
	// 		a[st.top()].first = i;
	// 		st.pop();
	// 	}
	// 	st.push(i);
	// }
	// while(!st.empty()){
	// 	a[st.top()].first = st.top();
	// 	st.pop();
	// }

	// vector<int> inv_h(n+1);
	// for(int i = 0; i < n; ++i) inv_h[h[i]] = i;
	// for(int i = n; i > 0; --i){
	// 	int id = inv_h[i];

	// 	if(h[a[id].first] > h[a[id].second]) up[id][0] = a[id].first;
	// 	else up[id][0] = a[id].second;
		
	// 	A[id][0] = a[id].second;

	// 	// cerr << id << ' ' << up[id][0] << ' ';
	// 	for(int j = 1; j <= l; ++j){
	// 		up[id][j] = up[up[id][j-1]][j-1];
	// 		A[id][j] = A[A[id][j-1]][j-1];
	// 		// cerr << up[id][j] << ' ';
	// 	}
	// 	// cerr << endl;
	// 	// cout << a[id].first << ' ' << id << ' ' << a[id].second << endl;
	// }

}

// int ans(int L, int R){
// 	int ans = 0;
// 	for(int i = l; i >= 0; --i){
// 		if(h[up[L][i]] <= h[R]){
// 			L = up[L][i];
// 			ans += (1<<i);
// 		}
// 	}
// 	for(int i = l; i >= 0; --i){
// 		if(h[A[L][i]] <= h[R]){
// 			L = A[L][i];
// 			ans += (1<<i);
// 		}
// 	}
// 	if(L == R) return ans;
// 	return inf;
// }

int minimum_jumps(int A, int B, int C, int D)
{
	return C - B;
	// int res = inf;
	// for(int id = C; id <= D; ++id){
	// 	int mx = 0, mx_id = B;
	// 	for(int i = B; i >= A; --i){
	// 		if(h[i] > h[id]) break;
	// 		if(h[i] > mx){
	// 			mx = h[i];
	// 			mx_id = i;
	// 		}
	// 	}
	// 	res = min(res, ans(mx_id, id));
	// }
	// return (res == inf ? -1 : res);
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 516 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 69 ms 1556 KB Output is correct
4 Correct 504 ms 1992 KB Output is correct
5 Correct 456 ms 1196 KB Output is correct
6 Correct 527 ms 1972 KB Output is correct
7 Correct 423 ms 1424 KB Output is correct
8 Correct 522 ms 1972 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Runtime error 1 ms 344 KB Execution killed with signal 6
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Runtime error 1 ms 344 KB Execution killed with signal 6
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 516 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 69 ms 1556 KB Output is correct
4 Correct 504 ms 1992 KB Output is correct
5 Correct 456 ms 1196 KB Output is correct
6 Correct 527 ms 1972 KB Output is correct
7 Correct 423 ms 1424 KB Output is correct
8 Correct 522 ms 1972 KB Output is correct
9 Runtime error 1 ms 344 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -