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;
                }
            }
        }
    }
  • 相关阅读:
    asp.net2.0系列视频教程
    Android入门教程(三十一)SQLite分页读取(转)
    sql语句大全
    判断是不是ie浏览器 加上ie11
    字节面试题
    泛型
    线程和
    sysbench工具
    自定义集合类
    类型通配符
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4859918.html
Copyright © 2011-2022 走看看