1 条题解

  • 1
    @ 2025-2-6 21:57:00

    34行拿捏

    #include<bits/stdc++.h>
    using namespace std;
    long long a;
    long long a1[100005];
    long long s;
    long long s1[100005];
    long long c;
    long long minn;
    int main(){
    	cin>>a;
    	for(int i=1;i<=a;i++){
    		cin>>a1[i];
    	}
    	cin>>s;
    	for(int i=1;i<=s;i++){
    		cin>>s1[i];
    	}
    	for(int i=1;i<=s;i++){
    		for(int j=1;j<=a;j++){
    			if(j==1){
    				minn=a1[j];
    				c=abs(s1[i]-a1[j]);
    			}
    			if(j>=2){
    				if(abs(s1[i]-a1[j])<c){
    					c=abs(s1[i]-a1[j]);
    					minn=a1[j];
    				}
    			}
    		}
    		cout<<minn<<"\n";
    	}
    	return 0;
    }
    
    
    • @ 2025-4-27 13:18:59

      ??????

      
      
      #include <iostream>
      #include <vector>
      #include <cmath>
      
      int findClosestElement(const std::vector<int>& nums, int target) {
          if (nums.empty()) return -1;
      
          int left = 0;
          int right = nums.size() - 1;
      
          while (left + 1 < right) {
              int mid = left + (right - left) / 2;
              if (nums[mid] == target) {
                  return nums[mid];
              } else if (nums[mid] < target) {
                  left = mid;
              } else {
                  right = mid;
              }
          }
      
          // Compare the closest element between nums[left] and nums[right]
          if (std::abs(nums[left] - target) <= std::abs(nums[right] - target)) {
              return nums[left];
          } else {
              return nums[right];
          }
      }
      
      int main() {
          int n;
          std::cin >> n;
      
          std::vector<int> nums(n);
          for (int i = 0; i < n; ++i) {
              std::cin >> nums[i];
          }
      
          int m;
          std::cin >> m;
      
          for (int i = 0; i < m; ++i) {
              int target;
              std::cin >> target;
              int closest = findClosestElement(nums, target);
              std::cout << closest << std::endl;
          }
      
          return 0;
      }
      
  • 1

信息

ID
720
时间
1000ms
内存
256MiB
难度
10
标签
(无)
递交数
6
已通过
2
上传者