Submission #108909

#TimeUsernameProblemLanguageResultExecution timeMemory
108909PeppaPigMountains (IOI17_mountains)C++14
100 / 100
56 ms14328 KiB
#include "mountains.h" #include <bits/stdc++.h> #define pii pair<int, int> #define x first #define y second using namespace std; const int N = 2e3+5; int n, dp[N][N]; int maximum_deevs(vector<int> y) { n = y.size(); for(int r = 0; r < n; r++) { dp[r][r] = 1; int high = r, cnt = 0; for(int l = r-1; ~l; l--) { pii vec1(high - l, y[high] - y[l]); pii vec2(r - l, y[r] - y[l]); if(1ll * vec1.x * vec2.y >= 1ll * vec1.y * vec2.x) { cnt += dp[l+1][high-1]; high = l; } dp[l][r] = max(dp[l][r-1], dp[l][high-1] + cnt + 1); } } return dp[0][n-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...