zoukankan      html  css  js  c++  java
  • BZOJ 4291: [PA2015]Kieszonkowe 水题

    4291: [PA2015]Kieszonkowe

    Time Limit: 1 Sec  

    Memory Limit: 256 MB

    题目连接

    http://www.lydsy.com/JudgeOnline/problem.php?id=4291

    Description

    给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和。

    Input

    第一行包含一个正整数n(1<=n<=1000000)。
    第二行包含n个正整数a_1,a_2,...,a_n(1<=a_i<=1000)。

    Output

    输出一个正整数,即最大的总和,若无解则输出NIESTETY。

    Sample Input

    5
    2 4 3 3 3

    Sample Output

    12

    HINT

    题意

    题解:

    无解情况只有一种,那么n=1,a[1]%2==1

    有解的话,全部加起来,如果是偶数的话就直接输出

    否则就删去一个最小的奇数就好了

    代码:

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int a[1000005];
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        if(n==1)
        {
            if(a[1]%2==1)
                printf("NIESTETY
    ");
            else
                printf("%d
    ",a[1]);
        }
        else
        {
            sort(a+1,a+n+1);
            long long sum = 0;
            for(int i=1;i<=n;i++)
                sum = sum + a[i];
            if(sum % 2 == 0)
            {
                printf("%lld
    ",sum);
                return 0;
            }
            for(int i=1;i<=n;i++)
            {
                if(a[i]%2==1)
                {
                    printf("%lld
    ",sum-a[i]);
                    return 0;
                }
            }
        }
    }
  • 相关阅读:
    [LuoGu] P1004 方格取数
    [LuoGu] P1018 乘积最大
    [LuoGu] P2758 编辑距离
    [JZOJ] 01知多少
    [LuoGu] P1731 生日蛋糕
    $mathcal{Const,Inline,Register}$用法总结
    T2027 蜈蚣
    T57274 黑暗城堡
    P2312 解方程
    AT2412 最大の和
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4859918.html
Copyright © 2011-2022 走看看