求助,悬关
查看原帖
求助,悬关
713602
oldnet楼主2023/8/23 12:25

为什么会TLE啊
提交记录

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+3;
int a[maxn];
int dp_down[maxn],dp_up[maxn];
int ans_down=-1,ans_up=-1;
int main(){
    int n=1;
    while(cin>>a[n]){
        dp_down[n]=1;
        dp_up[n]=1;
        n++;
    }
    n--;
    for(int i=2;i<=n;i++){
        for(int j=1;j<i;j++){
            if(a[j]>=a[i]) dp_down[i]=max(dp_down[i],dp_down[j]+1);
            if(a[j]<a[i]) dp_up[i]=max(dp_up[i],dp_up[j]+1);
        }
    }
    for(int i=1;i<=n;i++){
        ans_down=max(dp_down[i],ans_down);
        ans_up=max(dp_up[i],ans_up);
    }
    cout<<ans_down<<endl<<ans_up;
    return 0;
}
2023/8/23 12:25
加载中...