Submission #1243891

#TimeUsernameProblemLanguageResultExecution timeMemory
1243891nvujicaFinancial Report (JOI21_financial)C++20
48 / 100
4094 ms2632 KiB
#include <bits/stdc++.h>

#define ll long long
#define fi first
#define se second

using namespace std;

const int maxn = 3e5 + 10;

int n, d;
int a[maxn];
int dp[maxn];

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	
	cin >> n >> d;
	
	for(int i = 1; i <= n; i++){
		cin >> a[i];
	}
	
	for(int i = 1; i <= n; i++){
		dp[i] = 1;
	}
	
	for(int i = n - 1; i >= 1; i--){
		int br = 0;
		
		for(int j = i + 1; j <= n; j++){
			if(a[j] <= a[i]){
				br = 0;
				if(a[j] == a[i]) dp[i] = max(dp[i], dp[j]);
			}
			else {
				dp[i] = max(dp[i], dp[j] + 1);
				br++;
				
				if(br == d){
					break;
				}
			}
		}
		
//		cout << i << ' ' << dp[i] << endl;
	}
	
	int naj = 0;
	
	for(int i = 1; i <= n; i++){
		naj = max(naj, dp[i]);
	}
	
	cout << naj;
	
	return 0;
}
#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...