cogs448

☆   输入文件:1.in   输出文件:1.out   简单对比
时间限制:1 s   内存限制:128 MB

【题目描述】 
在某次膜拜大会上,一些神牛被要求集体膜拜。这些神牛被奖励每人吃一些神牛果。但是,每个神牛的肚量不一样。为了不显得某些人吃得太多,决定两人一组,使得吃得最多的那组吃得尽量少。(神牛数为偶数) 
【输入格式】 
第一行一个整数 n。(n<=10000) 
第二行有 n 个正整数,为给定的一列数字,表示每个神牛能吃多少神牛果。(数字均小于 1000000000) 
文件名为“1.in”。 
【输出格式】 
一个正整数,吃的最多的一组神牛吃的个数的最小值。 
文件名为“1.out”。 
【输入样例】

1 5 2 8 
【输出样例】 
9

 *****贪心,先从小到大的排列然后把头尾相加,求出最大值就是吃的最多一组神牛吃的个数

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cmath>
 5 using namespace std;
 6 int i,j,n,k,m,a[10005],mx;
 7 int cmp(int a,int b)
 8 {
 9     return a < b;
10 }
11 int main()
12 {
13     freopen("1.in","r",stdin);
14     freopen("1.out","w",stdout);
15     scanf("%d",&n);
16     for(i = 1;i <= n;i++)
17     {
18         scanf("%d",&a[i]);
19     }
20     sort(a + 1,a + 1 + n,cmp);
21     for(i = 1;i <= n / 2;i++)
22     {
23         mx = max(mx,a[i] + a[n - i + 1]);
24     }
25     printf("%d",mx);
26     return 0;
27 }
原文地址:https://www.cnblogs.com/rax-/p/9844961.html