奆佬求调
查看原帖
奆佬求调
1295445
wzj9876楼主2024/10/9 12:01
#include <bits/stdc++.h>
using namespace std;
int a[100000],ans=1,most=0;
int i=0;
int erfenchazhao(int a[],int length,int ans) {
    int l=0,r=length-1,Mid=floor(l+(r-l)>>1);
    for(int i=l; i<r; i++) {

        if(a[Mid]<a[Mid-1]) {
            r=Mid-1;
        } else if(a[Mid]>a[Mid+1]) {
            l=Mid+1;
        } else {
            ans++;
            return ans;
        }
    }
}
int main() {
    while (cin>>a[i]!=) {
        if(a[i-1]<a[i]) {
            most=i-1
        }
        i++;
    }
    if(a.length()-1<a[0]) {
        ans++;
        continue;
    } else {
        ans=erfenchazhao(a,a.length,ans);
    }
    cout<<most<<endl;;
    cout<<ans;
    return 0;
}

这回我是不信邪的只用了二分查找。(不喜勿喷)

2024/10/9 12:01
加载中...