4 条题解

  • -1
    @ 2026-4-11 15:52:35
    #include<bits/stdc++.h>
    using namespace std;
    int n,m,b,a[2005],tmp;
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++)
    		cin>>a[i];
    	cin>>m;
    	for(int i=1;i<=n;i++){
    		if(a[i]==m){
    			tmp=i;
    			break;
    		}
    	}
    	sort(a+1,a+n+1);
    	int l=0,r=n+1;
    	while(r-l>1){
    		int md=(r+l)>>1;
    		if(a[md]>=m)
    			r=md;
    		else
    			l=md;
    	}
    	for(int i=1;i<=n;i++)
    		cout<<a[i]<<" ";
    	cout<<endl;	
    	if(r<=n && a[r]==m)
    		cout<<tmp;
    	else
    		cout<<"Not Find";
    	return 0;
    }
    • -1
      @ 2025-7-17 10:33:20

      #include<bits/stdc++.h> using namespace std; int v[100005]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++)cin>>v[i]; int q,ans=-1; cin>>q; sort(v+1,v+n+1); int l=1,r=n; while(l<=r){ int mid=(l+r)/2; if(v[mid]<q)l=mid+1; else if(v[mid]>q)r=mid-1; else ans=mid; } for(int i=1;i<=n;i++)cout<<v[i]<<" "; cout<<endl; if(ans==-1)cout<<"Not Find"; else cout<<ans; return 0; } TLE玄关求DALAO调

      • -1
        @ 2024-9-17 15:28:52
        /*
        int      %o/%lo(八进制) %d/%i/%ld/%li(十进制) %x/%lx(十六进制)[如标名为o/lo/d/i/lo/li/x/lx即输出为八进制/十进制/十六进制]
        longlong %lld
        float    %f/%e
        double   %lf/%le
        char     %c
        char[]   %s
        'a'=97
        'z'=122
        'A'=65
        'Z'=90
        '0'=48
        '9'=57
        */
        #include <iostream>
        #include <iomanip>
        #include <cmath>
        #include <cstdio>
        #include <cstring>
        #include <algorithm>
        #include <ctime>
        #include <limits>
        #include <assert.h>
        #include <stdlib.h>
        using namespace std;
        #define LL long long
        #define ull unsigned long long
        const int N=1e5+10;
        const int INF=0x3f3f3f3f;
        const double pi=3.1416;
        int n,m,ans;
        struct sb{
        	int x;
        	int id;
        }a[N];
        bool cmp(sb a1,sb a2){
        	return a1.x<a2.x;
        }
        int main(){
        	cin>>n;
        	for(int i=1;i<=n;i++){
        		cin>>a[i].x;
        		a[i].id=i;
        	}
        	cin>>m;
        	sort(a+1,a+n+1,cmp);
        	for(int i=1;i<=n;i++){
        		cout<<a[i].x<<" ";
        		if(a[i].x==m){
        			ans=a[i].id;
        		}
        	}
        	cout<<endl;
        	if(ans){
        		cout<<ans;
        	}else{
        		cout<<"Not Find";
        	}
        return 0;
        }
        
        • -1
          @ 2022-9-24 16:07:27
          #include <iostream>
          #include <algorithm>
          using namespace std;
          int n, x;
          struct node
          {
          	int num,id;
          }a[1000010];
          int find(int num)
          {
          	int l = 0, r = n-1;
          	while (l <= r)
          	{
          		int mid = (l + r) / 2;
          		if (num == a[mid].num)
          			return a[mid].id;
          		else if (num < a[mid].num)
          			r = mid - 1;
          		else
          			l = mid + 1;
          	}
          	return -1;
          }
          bool cmp(node x, node y)
          {
          	return x.num < y.num;
          }
          int main()
          {
          	cin >> n;
          	for (int i = 0; i < n; i++)
          	{
          		cin >> a[i].num;
          		a[i].id = i+1;
          	}
          	sort (a, a + n,cmp);
          	cin >> x;
          	for (int i = 0; i < n; i++)
          	{
          		cout << a[i].num << " ";
          	}
          	cout << endl; 
          	int findnum = find(x);
          	if(findnum == -1)
          		cout << "Not Find";
          	else
          		cout << findnum << endl;
          }
          
          • 1

          信息

          ID
          1564
          时间
          1000ms
          内存
          256MiB
          难度
          7
          标签
          递交数
          690
          已通过
          172
          上传者