cogs448

时间:2023-06-25 17:25:44

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

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

1 5 2 8 
【输出样例】 
9

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

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int i,j,n,k,m,a[],mx;
int cmp(int a,int b)
{
return a < b;
}
int main()
{
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
scanf("%d",&n);
for(i = ;i <= n;i++)
{
scanf("%d",&a[i]);
}
sort(a + ,a + + n,cmp);
for(i = ;i <= n / ;i++)
{
mx = max(mx,a[i] + a[n - i + ]);
}
printf("%d",mx);
return ;
}

相关文章