제출 #1196826

#제출 시각아이디문제언어결과실행 시간메모리
1196826GoBananas69밀림 점프 (APIO21_jumps)C++20
21 / 100
4041 ms13716 KiB
#include <cassert> #include <cstdio> #include <queue> #include <vector> #include <iostream> #include "jumps.h" using namespace std; vector<vector<int>> adj; void init(int n, vector<int> h) { adj.resize(n); for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { if (h[j] > h[i]) { adj[i].push_back(j); break; } } for (int j = i - 1; j >= 0; --j) { if (h[j] > h[i]) { adj[i].push_back(j); break; } } } } int minimum_jumps(int A, int B, int C, int D) { queue<int> q; int n = adj.size(); vector<int> dist(n, -1); for (int i = A; i <= B; ++i) { q.push(i); dist[i] = 0; } while (!q.empty()) { int u = q.front(); q.pop(); for (int &v : adj[u]) { if (C <= v && v <= D) return dist[u] + 1; if (dist[v] != -1) continue; dist[v] = dist[u] + 1; q.push(v); } } return -1; }
#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...