大佬求调 我真的不知道哪错了
查看原帖
大佬求调 我真的不知道哪错了
1304742
Eavan99楼主2024/10/13 16:23
#include <bits/stdc++.h>
using namespace std;
int main()
{
    
	int a[10008],i,k,ans;
	int b[10008];
	int n,h[1009];
	n=0;
	i=1;ans=0;
	int maxn,x;
	memset(b,0,sizeof(b));
		memset(a,0,sizeof(a));
			memset(h,0,sizeof(h));
			
	while(cin>>a[i])
	{
		maxn=0;
		for(int j=1;j<=i-1;j++)
		{
			if(a[j]>=a[i])
			{
				if(b[j]>maxn)
				{maxn=b[j];}
			}
		}
		b[i]=maxn+1;
		if(b[i]>ans) ans=b[i];
		
		x=0;
		for(k=1;k<=n;k++)
		{
		if(h[k]>=a[i])
		{
		  if(x==0) x=k;	
		}
		else if(h[k]<h[x]) x=k;
	    }
	    if(x==0) {n++;x=n;}
		h[x]=a[i];
	    i++;
	}
	
	cout<<ans<<endl<<n;
    return 0  ;
}
2024/10/13 16:23
加载中...