3 条题解

  • 1
    @ 2025-2-21 13:56:31

    #include<bits/stdc++.h> using namespace std; int a[1000007]; int mids(int s[],int high,int low,int m) { int mid=(high+low)/2; if(s[high]<m) { cout<<-1; } else if(s[mid]==m) { cout<<mid; } else if(m<s[mid]) { return mids(s,mid-1,low,m); } else if(m>s[mid]) { return mids(s,high,mid+1,m); } } int mian() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; mids(a,n,1,m); return 0; }

    • 1
      @ 2025-2-20 13:40:14
      using namespace std;
      int a[1000000];
      bool flag=false;
      void f(int c,int d)
      {
      	if(c>0){
      		if(a[c]==d) flag=true;
      		else return f(c-1,d);
      		if(flag) cout<<c;
      	}
      	else{
      		cout<<"-1";
      	}
      }
      int main()
      {
      	int n,m;
      	cin>>n>>m;
      	for(int i=1;i<=n;i++){
      		cin>>a[i];
      	}
      	f(n,m);
      	return 0;
      }
      
      • -1

        诏曰

        #include<bits/stdc++.h>
        using namespace std;
        int nums[100000000],n,m;
        int BinSearch(int r[],int low,int high,int num){
        	int mid;
        	if(low>high) return -1;
        	else{
        		mid=(low+high)/2;
        		if(num>r[mid]) return BinSearch(r,mid+1,high,num);
        		else if(num<r[mid]) return BinSearch(r,low,mid-1,num);
        		else return mid;
        	}
        }
        int main(){
        	cin>>n>>m; for(int i=1;i<=n;i++) cin>>nums[i];
        	cout<<BinSearch(nums,1,n,m);
        	return 0;
        }
        
        • 1

        信息

        ID
        665
        时间
        1000ms
        内存
        256MiB
        难度
        6
        标签
        递交数
        61
        已通过
        17
        上传者