zoukankan      html  css  js  c++  java
  • 5.11返校测试T1

    题1:数字配对(number.cpp/in/out)


    【问题描述】

    对于给定的一列数字,数字个数为偶数,你需要解决如下问题:
    将给定的数列中的数字两两配对,这样每一对数字的和将形成一个新数列,对于不同的配对方法,新数列中的最大值也不同,寻找一个好的配对方法,使得新数列中的最大值最小。

    【输入格式】

    第一行一个整数n(n<=10000)。第二行有n个正整数,为给定的一列数字(数字均小于maxint div 2)。

    【输出格式】

    一个正整数,新数列中的最大值的最小值。

    【样例输入】

    4
    1 5 2 8
    

    【样例输出】

    9
    

    【提示】

    1与8配对 2与5配对 结果为9(1+8)。


    下面是这个题的思路QWQ

    先将数列进行排序,将数列中最大的数与最小的数相加,将相加后的最大值进行存储,最后得到的值即为最大值的最小值。(此题巨水,但是我还是做错了……少了一个头文件,成功爆零)


    下面是ac题解

    #include<iostream>
    #include<algorithm>
    #include<cstdio>//头文件(一定要检查!)
    using namespace std;
    int n,a[10005],b=0;
    int main() 
    {
    //	freopen("number.in","r",stdin);
    //	freopen("number.out","w",stdout);
    	cin>>n;
    	for(int i=1;i<=n;i++)
    		scanf("%d",&a[i]);//将数列进行输入
    	sort(a,a+n+1);//快排
    	for(int i=1;i<=n/2;i++)
    		b=max(b,a[i]+a[n-i+1]);//b存储最大值的最小值(好别扭的说法QWQ)
    	cout<<b<<endl;//将结果进行输出
    	return 0;//结束
    }
    
  • 相关阅读:
    go第二天
    go第一天
    engish
    english
    git 生成公钥
    tp5 验证码
    css处理文本折行截断
    数组对象总结(牢记)
    全局css样式
    Flexbox 弹性盒子布局
  • 原文地址:https://www.cnblogs.com/Kyriech-Francis/p/Answer_20200511_T1.html
Copyright © 2011-2022 走看看