怎么去重?
查看原帖
怎么去重?
1299558
plk5418楼主2024/12/9 20:11
#include <bits/stdc++.h>
using namespace std;
int x[5005];
long long dp[5005];
int main()
{
    int n, cnt = 0;
    cin >> n;
    if(n == 1){
	cout << "1 1";
	return 0;
    }
    for(int i = 1;i <= n;i++){
        cin >> x[i];
        dp[i] = 1;
    }
    for(int i = 2;i <= n;i++){
        for(int j = 1;j < i;j++){
            if(x[i] <= x[j])dp[i] = max(dp[i],dp[j] + 1);
            if(x[i] == x[j]) cnt++;
        }
    }
    long long maxn = 0;
    for(int i = 1;i <= n;i++){
        
        maxn = max(maxn, dp[i]);
    }
    cout << maxn << " " << cnt << "\n";
    return 0;
}
2024/12/9 20:11
加载中...