zoukankan      html  css  js  c++  java
  • CF #330 C

    改了题目之后,就是没有奇数的测试了。。。

    其实可以很轻易地发现,要距离近的一方只会删除两端的,而要求远的一方会删除中间的。

    那么,很明显的,剩下的两点会相差x/2个节点,于是,只要计算i和i+x/2的节点的距离即可。取最小的值。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    #define LL long long
    using namespace std;
    
    ///vector<int>f;
    
    LL f[200050];
    
    int main(){
    /// int n;LL t;
        int n; LL t;
        while(scanf("%d",&n)!=EOF){
        /// f.clear();
            for(int i=0;i<n;i++)
                cin>>f[i];///f.push_back(t);
        /*  for(int i=0;i<n;i++)
                cin>>t,f.push_back(t);*/
            sort(f,f+n);
        //  sort(f.begin(),f.end());
        /// bool flag=n%2?true:false;
        /*  while(n>2){
                if(f[n-1]-f[1]<=f[n-2]-f[0]) f.erase(f.begin()+0);
                else f.erase(f.begin()+n-1);
                n--;
                f.erase(f.begin()+n/2);
                n--;
            }*/
        /// cout<<f[1]-f[0]<<endl;
            LL ans=1e9;
            for(int i=0;i+n/2<n;i++){
                ans=min(ans,f[i+n/2]-f[i]);
            }
            cout<<ans<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    Hive学习笔记三
    spark之RDD练习
    Python之QRCode
    Zookeeper学习笔记一
    Docker学习笔记一
    MapReduce异常:java.lang.ClassCastException: interface javax.xml.soap.Text
    Hive学习笔记二
    Hive学习笔记一
    5.线性回归算法
    4.K均值算法
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/4957773.html
Copyright © 2011-2022 走看看