Submission #753839

#TimeUsernameProblemLanguageResultExecution timeMemory
753839blueRadio Towers (IOI22_towers)C++17
11 / 100
4097 ms1468 KiB
#include "towers.h"
#include <bits/stdc++.h>
using namespace std;
 
using vi = vector<int>;
using vvi = vector<vi>;
using ll = long long;
using vll = vector<ll>;
 
int N;
vi H;
 
vi LS, RS;
 
vll dist, dist2;
 
 
void init(int N_, vi H_)
{
	N = N_;
	H = H_;
}
 
int max_towers(int L, int R, int D)
{
	vi dp(N, 0);

	int res = 0;

	for(int i = L; i <= R; i++)
	{
		dp[i] = 1;

		int mx = 0;

		for(int j = i-1; j >= L; j--)
		{
			if(mx - max(H[i], H[j]) >= D)
				dp[i] = max(dp[i], 1 + dp[j]);

			mx = max(mx, H[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...