제출 #1156685

#제출 시각아이디문제언어결과실행 시간메모리
1156685alexander707070Financial Report (JOI21_financial)C++20
48 / 100
4094 ms4168 KiB
#include<bits/stdc++.h>
#define MAXN 300007
using namespace std;

bool cmp(pair<int,int> fr,pair<int,int> sc){
	if(fr.first!=sc.first)return fr.first<sc.first;
	return fr.second>sc.second;
}

int n,d;
int dp[MAXN];
pair<int,int> p[MAXN];
bool used[MAXN];

int main(){

	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

	cin>>n>>d;

	for(int i=1;i<=n;i++){
		cin>>p[i].first;
		p[i].second=i;
	}

	sort(p+1,p+n+1,cmp);
	p[n+1].second=n+1;

	for(int i=1;i<=n+1;i++){
		int curr=p[i].second;
		used[curr]=true;

		dp[curr]=1;

		int br=0;
		for(int f=curr-1;f>=1;f--){
			if(!used[f]){
				br++; 
				if(br>=d)break;
				continue;
			}else br=0;

			dp[curr]=max(dp[curr],dp[f]+1);
		}
	}

	cout<<dp[n+1]-1<<"\n";

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