1. 程式人生 > >cogs 448. 神牛果 神奇&&好理解的思路

cogs 448. 神牛果 神奇&&好理解的思路

div () getchar stdout include 描述 class stream ostream

☆ 輸入文件:1.in 輸出文件:1.out 簡單對比
時間限制:1 s 內存限制:128 MB

【題目描述】
在某次膜拜大會上,一些神牛被要求集體膜拜。這些神牛被獎勵每人吃一些神牛果。但是,每個神牛的肚量不一樣。為了不顯得某些人吃得太多,決定兩人一組,使得吃得最多的那組吃得盡量少。(神牛數為偶數)
【輸入格式】
第一行一個整數 n。(n<=10000)
第二行有 n 個正整數,為給定的一列數字,表示每個神牛能吃多少神牛果。(數字均小於 1000000000)
文件名為“1.in”。
【輸出格式】
一個正整數,吃的最多的一組神牛吃的個數的最小值。
文件名為“1.out”。
【輸入樣例】
4
1 5 2 8
【輸出樣例】
9

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 
 5 using namespace std;
 6 const int N=10001;
 7 
 8 long long a[N];
 9 
10 inline void read(long long & x) 
11 {
12     char c=getchar();
13     x=0;
14     while(c<0||c>9)c=getchar();
15     while(c>=
0&&c<=9)x=x*10+c-0,c=getchar(); 16 } 17 18 inline void rread(int & x) 19 { 20 char c=getchar(); 21 x=0; 22 while(c<0||c>9)c=getchar(); 23 while(c>=0&&c<=9)x=x*10+c-0,c=getchar(); 24 } 25 26 int main() 27 { 28 freopen("1.in","r",stdin);
29 freopen("1.out","w",stdout); 30 int n; 31 rread(n); 32 long long ans=-1; 33 for(int i=1;i<=n;i++) 34 { 35 read(a[i]); 36 } 37 sort(a+1,a+n+1); 38 for(int i=1;i<=n;i++) 39 { 40 ans=max(ans,a[i]+a[n-i+1]); 41 } 42 printf("%lld",ans); 43 }

cogs 448. 神牛果 神奇&&好理解的思路