P2362 全WA求助
  • 板块学术版
  • 楼主TheGratefulDead
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/28 11:29
  • 上次更新2024/8/28 14:46:16
查看原帖
P2362 全WA求助
861429
TheGratefulDead楼主2024/8/28 11:29
#include<bits/stdc++.h>
using namespace std;
const int N = 30;
int m,n,a[N],dp1[N],dp2[N];
int main(){
    cin>>m;
    while(m--){
        cin>>n;
        memset(dp1,1,sizeof dp1);
        memset(dp2,1,sizeof dp2);
        for(int i=1;i<=n;i++) cin>>a[i];
        for(int i=1;i<=n;i++){
            for(int j=1;j<i;j++){
                if(a[j] <= a[i]){
                    int s = dp1[j] + 1;
                    if(s > dp1[i]) dp1[i] = s,dp2[i] = dp2[j];
                    else if(s == dp1[i]) dp2[i] += dp2[j];
                }
            }
        }
        int ans1 = 0, ans2 = 0;
        for(int i=1;i<=n;i++){
            if(dp1[i] > ans1) ans1 = dp1[i],ans2 = dp2[i];
        }
        cout<<ans1<<' '<<ans2<<endl;
    }
    return 0;
}
2024/8/28 11:29
加载中...