Submission #1342476

#TimeUsernameProblemLanguageResultExecution timeMemory
1342476thesentroRadio Towers (IOI22_towers)C++20
11 / 100
4064 ms3212 KiB
#include "towers.h"
#include <bits/stdc++.h>
#include <vector>
using namespace std;
#define ll long long
vector<ll>v;
ll n;
void init(int N, std::vector<int> H) {
  for (auto i:H) v.push_back(i);
  n = N;
}

int max_towers(int L, int R, int D) {
  vector<ll>vs;
  vs.push_back(0);
  for (int i=L ; i<=R ; i++) vs.push_back(v[i]);
  n = vs.size();
  n--;
  vector<ll>dp(n+1, 1);
  ll res = INT_MIN;
  for (int i=n ; i>=1 ; i--)
  {
    ll mx = 0;
    for (int j=i+1 ; j<=n ; j++)
    {
      if (mx-vs[j]>=D and mx-vs[i]>=D)
        dp[i] = max(dp[i], dp[j]+1);
      mx = max(mx, vs[j]);
    }
    res = max(res, dp[i]);
  }

  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...