제출 #971441

#제출 시각아이디문제언어결과실행 시간메모리
971441PanndaRainforest Jumps (APIO21_jumps)C++17
8 / 100
4010 ms1048576 KiB
#include "jumps.h" #include <bits/stdc++.h> using namespace std; const int INF = 1e9 + 12345; vector<vector<int>> dist; void init(int n, vector<int> h) { dist = vector<vector<int>>(n, vector<int>(n, INF)); for (int i = 0; i < n; i++) { dist[i][i] = 0; } for (int i = 0; i < n; i++) { for (int j = i - 1; j >= 0; j--) { if (h[j] > h[i]) { dist[i][j] = 1; break; } } for (int j = i + 1; j < n; j++) { if (h[j] > h[i]) { dist[i][j] = 1; break; } } } for (int m = 0; m < n; m++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { dist[i][j] = min(dist[i][j], dist[i][m] + dist[m][j]); } } } } int minimum_jumps(int l0, int r0, int l1, int r1) { r0++; r1++; int res = INF; for (int i = l0; i < r0; i++) { for (int j = l1; j < r1; j++) { res = min(res, dist[i][j]); } } if (res == INF) return -1; return res; }
#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...