Submission #1322399

#TimeUsernameProblemLanguageResultExecution timeMemory
1322399neonglitchFinancial Report (JOI21_financial)C++20
14 / 100
4094 ms6572 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int N=3e5+10;
int a[N],dp[N];
int val[N]; // all zero initially
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n,d;
	cin>>n>>d;
	vector<pair<int,int>> ord;
	for(int i=1;i<=n;i++)cin>>a[i],ord.push_back({a[i],-i}),dp[i]=1;
	for(int i=1;i<=n;i++)
	{
		int cu=0;
		for(int j=i-1;j>=1;j--)
		{
			if(a[j]>a[i])
			{
				cu++;
			}
			else
			{
				if(cu>=d)
				{
					break;
				}
				if(a[j]<a[i])
				{
					dp[i]=max(dp[i],dp[j]+1);
				}
			}
		}
	}
	int ans=1;
	for(int i=1;i<=n;i++)
	{
		ans=max(ans,dp[i]);
	}
	cout<<ans<<endl;
}
#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...