14 条题解

  • 2
    @ 2025-9-20 18:41:13

    两种味道都很 鲜~

    吴飞味

    #include<bits/stdc++.h>
    
    
    using namespace std;
    int n,m,L,ans,k;
    int a[10000005],x;
    int main(){
    	cin >> n;
    	for(int i=1; i<=n; i++){
    		cin >> a[i];
    	}
    
    	cin >> x;
    	for(int i=1; i<=x; i++){
    		cin >> ans;
    		int r=n;
    	    int l=1,mid,f=0;
    		while (l<=r){
    			mid=(l+r)/2;
    			if(a[mid]==ans){
    				cout << "YES\n";
    				f=1;
                    break;
    
    			}
    			if(a[mid]<ans){
    				l=mid+1;
    			}
    			else r=mid-1;
    		} 
    		if(f==0)cout << "NO\n";
    	}
    	
    	return 0;
    }
    

    刘澈味

    #include <bits/stdc++.h>
    using namespace std;
    const int SB=1e6+10;
    int n,a[SB],m,b;
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	cin>>m;
    	for(int i=1;i<=m;i++){
    		cin>>b;
    		int l=0,r=n+1;
    		while(r-l>1){
    			int mid=(r+l)/2;
    			if(a[mid]>=b){
    				r=mid;
    			}
    			else{
    				l=mid;
    			}
    		}
    		if(r<=n&&a[r]==b){
    			cout<<"YES\n"; 
    		}
    		else{
    			cout<<"NO\n";
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2026-3-22 15:20:10

      老师教的,不对找我老师

      #include<bits/stdc++.h> 
      using namespace std;
      const int N=1e6+10;
      int main(){
      	int n,a[N],b,m;
      	cin>>n;
      	for(int i=1;i<=n;i++){
      		cin>>a[i];
      	}
      	sort(a+1,a+1+n);
      	cin>>m;
      	for(int i=1;i<=m;i++){
      		cin>>b;
      		int r=n+1,l=0;
      		while(r-l>1){
      			int mid=(r+l)/2;
      			if(a[mid]>=b){
      				r=mid;
      			} else {
      				l=mid;
      			}
      		}
      		if(r<=n&&a[r]==b){
      			cout<<"YES"<<endl;
      		} else {
      			cout<<"NO"<<endl;
      		}
      	}
      	return 0;
      }
      
      • 0
        @ 2025-9-20 14:18:29
        #include<bits/stdc++.h>
        using namespace std;
        int a[10000010],n,x;
        int main(){
            cin >> n;
            for(int i=1; i<=n; i++){
                cin >> a[i];
            }
            cin >> x;
            for(int i=1; i<=x; i++){
                int l=1,r=n,mid=0,ans;
                bool f=0;
                cin >> ans;
                while(l<=r){
                    mid=(l+r)/2;
                    if(a[mid]==ans){
                        cout << "YES\n";
                        f=1;
                        break;
                    }
                    if(a[mid]<ans) l=mid+1;
                    else r=mid-1;
                }
                if(f==0) cout << "NO\n";
            }
            return 0;
        }
        
        • -1
          @ 2024-6-1 19:14:58
          #include<iostream>
          using namespace std;
          int a[1000005],n,m,b;
          bool find(int x){
              int l=1,r=n;
              while(l<=r){
                  int mid=(l+r)>>1;
                  if(a[mid]==x)return 1;
                  else if(a[mid]>x)r=mid-1;
                  else l=mid+1;
              }
              return 0;
          }
          int main(){
          	cin>>n;
          	for(int i=1;i<=n;i++)cin>>a[i];
          	cin>>m;
          	while(m--){
          		cin>>b;
          		if(find(b))cout<<"YES"<<endl;
          		else cout<<"NO"<<endl;
          	}
          	return 0;
          }
          //钟鼎皓 💩ㄟ( ▔, ▔ )ㄏ💩
          
          • -1
            @ 2024-4-22 21:27:34
            #include<bits/stdc++.h>
            using namespace std;
            const int INF=0x3f3f3f3f;
            const int N=1e6+10;
            int n;
            int a[N];
            int b[N];
            int main(){
            	cin>>n;
            	for(int i=1;i<=n;i++){
            		cin>>a[i];
            	}
            	int m;
            	cin>>m;
            	for(int i=1;i<=m;i++){
            		cin>>b[i];		
            	} 
            	for(int i=1;i<=m;i++){
            		int l=1,r=n;
            		int key=0;
            		while(l<=r){
            			int mid=l+r>>1;
            			if(a[mid]==b[i]){
            				key=1;
            				break;
            			} 
            			else{
            				if(a[mid]<b[i]) l=mid+1;
            				else{
            					r=mid-1;
            				} 
            			}
            		}
            		if(key==0) cout<<"NO"<<endl;
            		else cout<<"YES"<<endl;
            	}
                return 0;
            }
            
            
            • -1
              @ 2024-4-2 17:25:19
              using namespace std;
              const int INF=0x3f3f3f3f;
              const int N=1e5+10;
              int n;
              int a[100000005];
              int b[100000005];
              int main(){
              	cin>>n;
              	for(int i=1;i<=n;i++){
              		cin>>a[i];
              	}
              	int m;
              	cin>>m;
              	for(int i=1;i<=m;i++){
              		cin>>b[i];		
              	} 
              	for(int i=1;i<=m;i++){
              		int l=1,r=n;
              		int ans=0;
              		while(l<=r){
              			int mid=(l+r)/2;
              			if(a[mid]==b[i]){
              				ans=1;
              				break;
              			} 
              			else{
              				if(a[mid]<b[i]) l=mid+1;
              				else{
              					r=mid-1;
              				} 
              			}
              		}
              		if(ans==0) cout<<"NO"<<endl;
              		else cout<<"YES"<<endl;
              	}
                  return 0;
              }
              
              • -1
                @ 2024-3-6 19:09:58
                #include<iostream>
                using namespace std;
                int a[1000005],n,m,b;
                bool find(int x){
                    int l=1,r=n;
                    while(l<=r){
                        int mid=(l+r)>>1;
                        if(a[mid]==x)return 1;
                        else if(a[mid]>x)r=mid-1;
                        else l=mid+1;
                    }
                    return 0;
                }
                int main(){
                	cin>>n;
                	for(int i=1;i<=n;i++)cin>>a[i];
                	cin>>m;
                	while(m--){
                		cin>>b;
                		if(find(b))cout<<"YES"<<endl;
                		else cout<<"NO"<<endl;
                	}
                	return 0;
                }
                
                • -1
                  @ 2023-5-29 16:42:31
                  #include <queue>
                  #include <math.h>
                  #include <stack>
                  #include <vector>
                  #include <stdio.h>
                  #include <iostream>
                  #include <vector>
                  #include <iomanip>
                  #include <string.h>
                  #include<cstring>
                  #include <algorithm>
                  using namespace std;
                  #define LL long long
                  const int N = 1e6 + 10;
                  const int INF = 0x3f3f3f3f;
                  using namespace std;
                  int n , m , a [ N ] ;
                  bool find ( int x )
                  {
                  	int  l = 1 , r = n ;
                  	while ( l <= r  )
                  	{
                  		int mid = l + r >> 1 ;
                  		if ( a [ mid ] == x ) 
                  			return 1 ;
                  		else if ( a [ mid ] > x ) 
                  			r = mid - 1 ;
                  		else 
                  			l = mid + 1 ;
                  	}
                  	return false ;
                  }
                  int main()
                  {
                  	cin >> n ;
                  	for ( int i = 1 ; i <= n ; i ++ )
                  	{
                  		cin >> a [ i ] ;
                  	} 
                  	 sort (a + 1 ,a + n + 1) ;
                  	 cin >> m ;
                  	 while ( m -- )
                  	{
                  		int x ;
                  		scanf ("%d" , & x ) ;
                  		cout << (find( x ) ? "YES":"NO") << endl ;
                  	}
                  	return 0;
                  }
                  
                  • -1
                    @ 2023-5-14 19:31:22
                    #include <iostream>
                    using namespace std;
                    
                    int main() {
                        int n;
                        cin >> n;
                        int a[n];
                        for (int i = 0; i < n; i++) {
                            cin >> a[i];
                        }
                        int m;
                        cin >> m;
                        int b[m];
                        for (int i = 0; i < m; i++) {
                            cin >> b[i];
                        }
                        for (int i = 0; i < m; i++) {
                            int l = 0, r = n - 1;
                            bool flag = false;
                            while (l <= r) {
                                int mid = (l + r) / 2;
                                if (a[mid] == b[i]) {
                                    flag = true;
                                    break;
                                }
                                else if (a[mid] > b[i]) r = mid - 1;
                                else l = mid + 1;
                            }
                            if (flag) cout << "YES" << endl;
                            else cout << "NO" << endl;
                        }
                        return 0;
                    }
                    
                    • -1
                      @ 2023-5-2 15:53:35
                      #include<iostream>
                      using namespace std;
                      int a[1000005],n,m,b;
                      bool bs(int x)
                      {
                          int l = 1,r = n;
                          while(l <= r)
                          {
                              int mid =(l + r) >> 1;
                              if(a[mid] == x) return 1;
                              else if(a[mid] > x)r = mid - 1;
                              else l = mid + 1;
                          }
                          return 0;
                      }
                      int main()
                      {
                      	cin >> n;
                      	for(int i = 1; i <= n; i++) cin >> a[i];
                      	cin >> m;
                      	while(m--)
                      	{
                      		cin >> b;
                      		if(bs(b)) cout << "YES" << endl;
                      		else cout << "NO" <<endl;
                      	}
                      	return 0;
                      }
                      
                      • -2
                        @ 2023-5-1 9:55:04
                        using namespace std;
                        int a[1000000];
                        int main(){
                        	int n;
                        	cin >> n;
                        	for (int i=0; i<n; i++){
                        		cin >> a[i];
                        	}
                        	int m;
                        	cin >> m;
                        	bool flag=false;
                        	while(m--){
                        		bool flag=false;
                        	    int b;
                        	    cin >> b;
                        	    int l=0, r=n-1;
                        	    while(l<=r){
                        	    int mid = (l+r)/2;
                        		if (a[mid]==b){
                        			cout << "YES" << endl;
                        			flag = true;
                        			break; 
                        		}
                        		else if (a[mid]<b){
                        			l=mid+1;
                        		}
                        		else{
                        			r=mid-1;
                        		}
                        	}
                        		if(flag==false){
                        			cout << "NO" << endl;
                        			
                        		}
                        	    
                        	}
                        	return 0;
                        	
                        }//简单易懂
                        
                        • @ 2023-5-2 20:41:03

                          #include 呢???

                      • -2
                        @ 2023-4-23 13:46:01
                        #include<iostream>
                        using namespace std;
                        int a[1000009];
                        int main(){
                        	int n;
                        	cin>>n;
                        	for(int i=0;i<n;i++){
                        		cin>>a[i];
                        	}
                        	
                        	int m;cin>>m;
                        	while(m--){
                        		int l=0,r=n-1;
                        		int b;
                        		cin>>b;
                        		int flag=0;
                        		while(l<=r){
                        			int mid=(l+r)/2;
                        			if(b==a[mid]){
                        				cout<<"YES"<<endl;
                        				flag=1;
                        				break;
                        			}else if(b<a[mid]){
                        				r=mid-1;       //好好想想这个关系为啥是-1 
                        			}else if(b>a[mid]){
                        				l=mid+1;       //好好想想这个关系为啥是+1
                        			}
                        		}
                        		if(flag==0){
                        			cout<<"NO"<<endl;
                        		}
                        	}
                        	//超时的话就用scanf printf(#include<cstdio>) 这比cin cout 快呀 
                        }
                        
                        • -3
                          @ 2023-5-14 19:23:16
                          #include<bits/stdc++.h>
                          #define int long long 
                          using namespace std;
                          int n,a[1000005],m,x;
                          void ss(){
                              int l=1,r=n;
                              while(l<=r){
                                  int mid=(l+r)/2;
                                  if(x<a[mid])r=mid-1;
                                  if(x>a[mid])l=mid+1;
                                  if(x==a[mid]){cout<<"YES"<<endl;return;}
                              }
                              cout<<"NO"<<endl;
                              return;
                          }
                          signed main(){
                              cin>>n;
                              for(int i=1;i<=n;i++)cin>>a[i];
                              cin>>m;
                              sort(a+1,a+1+n);
                              for(int i=1;i<=m;i++){cin>>x;ss();}
                          }
                          
                          • -3
                            @ 2023-5-1 9:36:42

                            #include<bits/stdc++.h> using namespace std; const int N=1e6+10; long long a[N]; long long n,x,m; bool check(int x) { bool flag=0; int l=1,r=n; while(l<=r) { int mid=(l+r)/2; if(a[mid]==x) { flag=1; break; } if(a[mid]<x) l=mid+1; else r=mid-1; } return flag; } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>m; for(int i=1;i<=m;i++) { cin>>x; if(check(x)) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }

                            • 1

                            信息

                            ID
                            1278
                            时间
                            3000ms
                            内存
                            512MiB
                            难度
                            7
                            标签
                            递交数
                            1087
                            已通过
                            224
                            上传者