50pts求调
查看原帖
50pts求调
1609668
Eternal_thoughts楼主2024/12/8 17:22

样例都没过

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define r0 return 0
#define ew 5005
#define sz 10000005
int a[sz];
int dp[sz];
int num;
int tong[sz];
signed main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		memset(tong,0,sizeof(tong));
		num=1;
		for(int i=1;i<=n;i++){
			cin>>a[i];
		}
		for(int i=1;i<=n;i++){
			dp[i]=1;
			for(int j=1;j<i;j++){
				if(a[i]>a[j]){
					dp[i]=max(dp[j]+1,dp[i]);
					//cout<<dp[i]<<" "<<tong[dp[i]]<<" "<<i<<endl;
				}
				tong[dp[i]]++;
				//cout<<dp[i]<<" "<<i<<endl;
			}
			num=max(num,dp[i]);
		}
		for(int i=1;i<=n;i++){
			//cout<<dp[i]<<endl;
		}
		cout<<num<<" "<<tong[num]<<endl;
	}
	r0;
}


验证码:mbyd

2024/12/8 17:22
加载中...