CF

A. Wet Shark and Odd and Even
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Today, Wet Shark is given n integers. Using any of these integers no more than once, Wet Shark wants to get maximum possible even (divisible by 2) sum. Please, calculate this value for Wet Shark.

Note, that if Wet Shark uses no integers from the n integers, the sum is an even integer 0.

Input

The first line of the input contains one integer, n (1 ≤ n ≤ 100 000). The next line contains n space separated integers given to Wet Shark. Each of these integers is in range from 1 to 109, inclusive.

Output

Print the maximum possible even sum that can be obtained if we use some of the given integers.

Sample test(s)
input
3
1 2 3
output
6
input
5
999999999 999999999 999999999 999999999 999999999
output
3999999996
Note

In the first sample, we can simply take all three integers for a total sum of 6.

In the second sample Wet Shark should take any four out of five integers 999 999 999.

 
  
 
  
 
  
#include <stdio.h>

int com(const void *a, const void *b)
{
    return *(int *)a - *(int *)b;
}

int a[100000];

int main()
{
    int n;
    int i;
    __int64 sum=0;
    scanf("%d", &n);

    for(i=0;i<n;i++)
    {
        scanf("%d", &a[i]);
    }

    if(n==1)
    {
        printf("0");
        return 0;
    }

    qsort(a,n,sizeof(int),com);

    for(i=0;i<n;i++)
    {
        sum+=a[i];
    }

    for(i=0;i<n;i++)
    {
        if(sum%2==0)
        {
            printf("%I64d", sum);
            break;
        }
        else
        {
            sum-=a[i];
        }
    }

    return 0;
}


第二次打CF,A题很快搞定,可第二题题意怎么也没看懂。。。明天又要早前练车 哭,其余题只好明晚上看了。

A题的话,排序求总和后判断是否为偶数,如果不是则开始从最小的数开始减,依此类推。要注意的是如果输入一个数的话,直接返回0,我第一次提交忽略了这个问题,结果第三个例子就出错了。

你可能感兴趣的:(代码,C语言,ACM,CF)