Submission #566424

#TimeUsernameProblemLanguageResultExecution timeMemory
566424josanneo22Rainforest Jumps (APIO21_jumps)C++14
0 / 100
26 ms2964 KiB
#include "jumps.h" #include<bits/stdc++.h> #include<iostream> #include<cmath> #include<stdlib.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<pair<int, int> > vpii; typedef pair<ll,ll> pll; typedef vector<ll> vll; #define FOR(i,a,b) for (int i = (a); i < (b); ++i) #define F0R(i,a) FOR(i,0,a) #define ROF(i,a,b) for (int i = (b); i >= (a); --i) #define R0F(i,a) ROF(i,0,a) #define trav(a,x) for (auto& a: x) #define mp make_pair #define pb push_back #define rsz resize #define sz(x) int(x.size()) #define all(x) begin(x), end(x) #define f first #define s second #define out(x) cout<<x<<'\n'; #define in(x) cin>>x; #define inarr(a,x,y) for(int i=x;i<y;i++){cin>>a[i];} #define incor(a,x,y) for(int i=x;i<y;i++){cin>>a[i].f>>a[i].s;} const int mod = 1e9 + 7; const int maxn=2e3+5; int h[maxn], xd[maxn], lmao[maxn], dp[maxn], n; void init(int N, std::vector<int> H) { n=N; FOR(i,0,n) h[i]=H[i]; FOR(i,0,n) { xd[i]=lmao[i]=i;/* for(int j=i-1; j>=0; --j) if(h[j]>h[i]) { xd[i]=j; break; } */ for(int j=i+1; j<n; ++j) if(h[j]>h[i]) { lmao[i]=j; break; } } } int minimum_jumps(int a,int b,int c,int d) { FOR(i,0,n) dp[i]=mod; queue<int> q; FOR(i,a,b+1) { dp[i]=0; q.push(i); } while(sz(q)) { int u=q.front();q.pop(); if(u>=c && u<=d) return dp[u]; if(dp[lmao[u]]==mod) { dp[lmao[u]]=dp[u]+1; q.push(lmao[u]); } } 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...