Submission #1218406

#TimeUsernameProblemLanguageResultExecution timeMemory
1218406banganRadio Towers (IOI22_towers)C++20
11 / 100
4058 ms1580 KiB
#include "towers.h"
#include <bits/stdc++.h>
using namespace std;

#define chmax(a, b) a = max(a, b)

#define pb push_back

const int maxn = 1e5 + 4;

int n;
int h[maxn];
int dp[maxn];

void init(int N, std::vector<int> H) {
	n = N;
	for (int i=0; i<n; i++) h[i] = H[i];
}

int max_towers(int L, int R, int D) {
	dp[L] = 1;
	for (int i = L+1; i <= R; i++) {
		dp[i] = 1;
		for (int j = i-1, mx = 0; j >= L; j--) {
			if (h[i] <= mx-D && h[j] <= mx-D) chmax(dp[i], dp[j]+1);
			chmax(mx, h[j]);
		}
	}
	return *max_element(dp + L, dp + R+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...