hcak求助,不知道应该优化哪里
查看原帖
hcak求助,不知道应该优化哪里
1062326
Jingulu楼主2024/3/12 20:36

代码如下

#include <iostream>
#include <queue>
using namespace std;
const int N=100010;

int d[N],a[N],b[N];
int n,ans1,ans2;

int main(){

    n=1;int x;
    
    while(cin>>x){
        d[n++]=x;
        if(cin.get()=='\n') break;
    }
    n--;

    a[1]=d[1];ans1++;
    for(int i=2;i<=n;i++){
        int j=1;
        while(d[i]<=a[j]){
            j++;
            if(a[j]==0){
                ans1++;break;}
        }
        if(d[i]>a[j]) a[j]=d[i];
    }
    cout<<ans1<<endl;
    
    b[1]=d[1];ans2++;
    for(int i=2;i<=n;i++){
        int j=1;
        while(d[i]>b[j]){
            j++;
            if(b[j]==0){
                b[j]=d[i];
                ans2++;
                break;}
            }
          if(d[i]<b[j]) b[j]=d[i];
        } 

        
    cout<<ans2;
    return 0;


}
2024/3/12 20:36
加载中...