问题标题: 酷町堂:8219

0
0
已解决
金沙赫北
金沙赫北
高级守护
高级守护

#include<bits/stdc++.h>
 using namespace std;
 int n,a[5005],f[5005],k[5005],maxn,cnt;
 int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        f[i]=1;
        k[i]=1;
    for(int j=1;j<i;j++){
        if(a[j]>a[i]){
            if(f[j]+1>f[i]){
                f[i]=f[j]+1;
                k[i]=k[j];
            }else if(f[j]+1==f[i]){
                k[i]+=k[j];
            }
        }
    }
    if(f[i]>maxn){
        maxn=f[i];
        cnt=k[i];
    }else if(f[i]==maxn){
        cnt+=k[i];
    }
}
    cout<<maxn<<' '<<cnt;
     return 0;
}


0
0
我要回答