170分求助
查看原帖
170分求助
137723
pencil楼主2021/8/4 17:35
#include<bits/stdc++.h>
using namespace std;
int b[100001],c[100001];
int main(){
    int n=0,a[100001],i,xi=0,bu=999999,hh=0,i2;//这题只需要求一个不上升序列长度和一个上升序列长度
//  cin>>n;
//      for(i=1;i<=n;i++){
//      cin>>a[i];  
//      b[i]=1;
//  }
    while(cin>>a[++n]);
int w=1,flag;
for(i=1;i<=n;i++){
    for(i2=1,flag=0;i2<=w;i2++)
    if(b[i2]<a[i]){
        b[i2]=a[i];
        flag=1;
        break;
    }
    if(!flag) {
    w++;    b[w]=a[i];
    }
}
memset(b,0,100001);
cout<<w-1<<endl;
w=1;bu=0;
for(i=1;i<=n;i++){
    for(i2=1,flag=0;i2<=w;i2++)
    if(b[i2]>=a[i]){
        b[i2]=a[i];
        flag=1;
        break;
    }
    if(!flag) {
    w++;bu++;   b[w]=a[i];
    }
}
    cout<<bu;
    return 0;
}
2021/8/4 17:35
加载中...