제출 #1357470

#제출 시각아이디문제언어결과실행 시간메모리
1357470toast12Mountains (IOI17_mountains)C++20
20 / 100
0 ms344 KiB
#include "mountains.h"
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

int maximum_deevs(vector<int> y) {
	int n = y.size();
    vector<int> v(1);
    for (int i = 0; i < n; i++) v.push_back(y[i]);
    vector<int> dp(n+1, 1);
    for (int i = 1; i <= n; i++) {
        dp[i] = max(dp[i], dp[i-1]);
        if (i == n) continue;
        ll a = v[i+1]-v[i];
        ll b = 1;
        for (int j = i+2; j <= n; j++) {
            ll c = v[j]-v[i];
            ll d = j-i;
            if (a*d > c*b) dp[j] = max(dp[j], dp[i]+1);
            else {
                a = c;
                b = d;
            }
        }
    }
    return dp[n];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...