Submission #1169710

#TimeUsernameProblemLanguageResultExecution timeMemory
1169710thelegendary08Radio Towers (IOI22_towers)C++17
0 / 100
4106 ms2162688 KiB
#include "towers.h"
#include<bits/stdc++.h>
#define vi vector<int>
#define pb push_back
#define f0r(i,n) for(int i = 0; i<n; i++)
#define FOR(i, k, n) for(int i = k; i<n; i++)
using namespace std;

int mxd = -1;
int mx = 0;
vi v;
void init(int N, std::vector<int> v) {
	::v = v;
	f0r(i, N){
		if(v[i] > mx){
			mx = v[i];
			mxd = i;
		}
	}
}

int max_towers(int l, int r, int d) {
  	vi v;
  	FOR(i, l, r+1){
  		v.pb(::v[i]);
  	}
  	int n = r - l + 1;
  	vector<vi> dp(n, vi(n+1));
  	dp[0][0] = 1;
  	vi mx(n);
  	mx[0] = 1;
  	FOR(i, 1, n){
  		dp[i][0] = 1;
  		FOR(j, 1, i+1){
  			dp[i][j] = mx[j-1] + 1;
  		}
  		f0r(j, n+1)mx[i] = max(mx[i], dp[i][j]);
  	}
  	int ans = 0;
  	f0r(i,n)f0r(j, n+1)ans = max(ans, dp[i][j]);
  	return ans;
}
#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...