关于这道80分的题

B3637 最长上升子序列

bedboy @ 2023-07-17 16:53:02

代码:

#include<bits/stdc++.h>
using namespace std;
int const N=1e6+10;
int a[N],f[N];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<+n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        f[i]=1;
        for(int j=1;j<i;j++){
            if(a[j]<a[i])                               f[i]=max(f[i],f[j]+1); 
        }
    }
    int ans=0;
    for(int i=1;i<=n;i++){
        ans=max(ans,f[i]);
    }
    cout<<ans;
    return 0;
}

快来教教孩子,孩子快不行了


by WilliamFranklin @ 2023-07-17 16:58:37

输入 a 数组的时候出现了手误

将:

for(int i=1;i<+n;i++){
   cin>>a[i];
}

改为:

for(int i=1;i<=n;i++){
   cin>>a[i];
}

by bedboy @ 2023-07-17 20:43:35

@WilliamFranklin

已AC,谢啦


|